diff --git a/r8.jar b/r8.jar
index 9fdd685..db2cb0b 100644
--- a/r8.jar
+++ b/r8.jar
Binary files differ
diff --git a/r8.jar.map b/r8.jar.map
index 52f6107..87f3c73 100644
--- a/r8.jar.map
+++ b/r8.jar.map
@@ -1,7 +1,7 @@
 # compiler: R8
-# compiler_version: 2.1.28-dev
+# compiler_version: 2.2.1-dev
 # compiler_hash: engineering
-# pg_map_id: 32eb2e5
+# pg_map_id: 77422d0
 # common_typos_disable
 com.android.tools.r8.ApiLevelException -> com.android.tools.r8.a:
     boolean $assertionsDisabled -> c
@@ -12,10 +12,10 @@
     2:63:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24 -> a
     64:68:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24:28 -> a
 com.android.tools.r8.ArchiveClassFileProvider -> com.android.tools.r8.ArchiveClassFileProvider:
-    com.android.tools.r8.origin.Origin origin -> a
-    java.util.zip.ZipFile zipFile -> b
-    java.util.Set descriptors -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.origin.Origin origin -> b
+    java.util.Set descriptors -> d
+    java.util.zip.ZipFile zipFile -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():39:39 -> <clinit>
     1:1:void <init>(java.nio.file.Path):51:51 -> <init>
     2:2:void <init>(java.nio.file.Path,java.util.function.Predicate):60:60 -> <init>
@@ -35,10 +35,10 @@
     23:23:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100 -> getProgramResource
     24:24:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
 com.android.tools.r8.ArchiveProgramResourceProvider -> com.android.tools.r8.ArchiveProgramResourceProvider:
-    com.android.tools.r8.origin.Origin origin -> a
-    java.util.function.Predicate include -> c
-    com.android.tools.r8.ArchiveProgramResourceProvider$ZipFileSupplier supplier -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.origin.Origin origin -> b
+    java.util.function.Predicate include -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ArchiveProgramResourceProvider$ZipFileSupplier supplier -> c
     1:1:void <clinit>():30:30 -> <clinit>
     1:7:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ArchiveProgramResourceProvider$ZipFileSupplier,java.util.function.Predicate):82:88 -> <init>
     1:1:java.util.zip.ZipFile lambda$fromArchive$0(java.nio.file.Path):66:66 -> a
@@ -206,10 +206,10 @@
     1:1:void <init>(com.android.tools.r8.BackportedMethodListCommand$Builder):321:321 -> <init>
     1:1:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):324:324 -> accept
 com.android.tools.r8.BaseCommand -> com.android.tools.r8.BaseCommand:
-    com.android.tools.r8.utils.AndroidApp app -> c
-    boolean printHelp -> a
-    boolean printVersion -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.utils.AndroidApp app -> d
+    boolean $assertionsDisabled -> a
+    boolean printHelp -> b
+    boolean printVersion -> c
     1:1:void <clinit>():32:32 -> <clinit>
     1:5:void <init>(boolean,boolean):40:44 -> <init>
     6:11:void <init>(com.android.tools.r8.utils.AndroidApp):47:52 -> <init>
@@ -289,19 +289,19 @@
 com.android.tools.r8.BaseCommand$ProgramInputOrigin -> com.android.tools.r8.BaseCommand$c:
     1:1:void <init>(java.nio.file.Path):88:88 -> <init>
 com.android.tools.r8.BaseCompilerCommand -> com.android.tools.r8.BaseCompilerCommand:
-    java.util.List outputInspections -> o
-    int minApiLevel -> h
-    boolean includeClassesChecksum -> k
-    java.util.function.BiPredicate dexClassChecksumFilter -> m
-    boolean optimizeMultidexForLinearAlloc -> l
-    boolean $assertionsDisabled -> q
-    com.android.tools.r8.utils.Reporter reporter -> i
-    com.android.tools.r8.StringConsumer mainDexListConsumer -> g
-    com.android.tools.r8.ProgramConsumer programConsumer -> f
-    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> j
-    java.util.List assertionsConfiguration -> n
-    com.android.tools.r8.CompilationMode mode -> e
-    int threadCount -> p
+    boolean optimizeMultidexForLinearAlloc -> m
+    java.util.List outputInspections -> p
+    java.util.List assertionsConfiguration -> o
+    int minApiLevel -> i
+    boolean includeClassesChecksum -> l
+    java.util.function.BiPredicate dexClassChecksumFilter -> n
+    com.android.tools.r8.CompilationMode mode -> f
+    com.android.tools.r8.utils.Reporter reporter -> j
+    boolean $assertionsDisabled -> e
+    com.android.tools.r8.StringConsumer mainDexListConsumer -> h
+    com.android.tools.r8.ProgramConsumer programConsumer -> g
+    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> k
+    int threadCount -> q
     1:1:void <clinit>():36:36 -> <clinit>
     1:13:void <init>(boolean,boolean):53:65 -> <init>
     14:28:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.CompilationMode,com.android.tools.r8.ProgramConsumer,com.android.tools.r8.StringConsumer,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.InternalOptions$DesugarState,boolean,boolean,java.util.function.BiPredicate,java.util.List,java.util.List,int):82:96 -> <init>
@@ -320,21 +320,21 @@
     1:1:int getThreadCount():165:165 -> getThreadCount
     1:1:boolean isOptimizeMultidexForLinearAlloc():152:152 -> isOptimizeMultidexForLinearAlloc
 com.android.tools.r8.BaseCompilerCommand$Builder -> com.android.tools.r8.BaseCompilerCommand$Builder:
-    java.util.List assertionsConfiguration -> r
-    int threadCount -> l
-    boolean includeClassesChecksum -> o
-    java.util.function.BiPredicate dexClassChecksumFilter -> q
-    boolean optimizeMultidexForLinearAlloc -> p
-    java.nio.file.Path outputPath -> h
-    int minApiLevel -> k
-    java.util.List outputInspections -> s
-    com.android.tools.r8.OutputMode outputMode -> i
-    boolean $assertionsDisabled -> t
-    com.android.tools.r8.CompilationMode mode -> j
-    com.android.tools.r8.StringConsumer mainDexListConsumer -> g
-    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> m
-    com.android.tools.r8.ProgramConsumer programConsumer -> f
-    java.util.List desugaredLibraryConfigurationResources -> n
+    int minApiLevel -> l
+    int threadCount -> m
+    java.util.List desugaredLibraryConfigurationResources -> o
+    boolean includeClassesChecksum -> p
+    java.util.function.BiPredicate dexClassChecksumFilter -> r
+    java.nio.file.Path outputPath -> i
+    java.util.List outputInspections -> t
+    java.util.List assertionsConfiguration -> s
+    com.android.tools.r8.OutputMode outputMode -> j
+    boolean optimizeMultidexForLinearAlloc -> q
+    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> n
+    com.android.tools.r8.CompilationMode mode -> k
+    boolean $assertionsDisabled -> f
+    com.android.tools.r8.StringConsumer mainDexListConsumer -> h
+    com.android.tools.r8.ProgramConsumer programConsumer -> g
     1:1:void <clinit>():179:179 -> <clinit>
     1:1:void <init>(com.android.tools.r8.DiagnosticsHandler):208:208 -> <init>
     2:28:void <init>(com.android.tools.r8.DiagnosticsHandler):183:209 -> <init>
@@ -367,8 +367,7 @@
     6:111:java.nio.file.Path com.android.tools.r8.utils.FileUtils.validateOutputFile(java.nio.file.Path,com.android.tools.r8.utils.Reporter):0:105 -> e
     6:111:void validate():555 -> e
     112:143:void validate():556:587 -> e
-    144:177:void com.android.tools.r8.utils.Reporter.warning(java.lang.String):0:33 -> e
-    144:177:void validate():583 -> e
+    144:144:void validate():583:583 -> e
     com.android.tools.r8.CompilationMode defaultCompilationMode() -> f
     1:1:java.util.List getAssertionsConfiguration():537:537 -> g
     1:1:java.util.function.BiPredicate getDexClassChecksumFilter():282:282 -> getDexClassChecksumFilter
@@ -422,10 +421,10 @@
 com.android.tools.r8.ByteBufferProvider -> com.android.tools.r8.ByteBufferProvider:
     1:1:java.nio.ByteBuffer acquireByteBuffer(int):24:24 -> acquireByteBuffer
 com.android.tools.r8.ByteDataView -> com.android.tools.r8.ByteDataView:
-    byte[] buffer -> a
-    int offset -> b
-    int length -> c
-    boolean $assertionsDisabled -> d
+    byte[] buffer -> b
+    int length -> d
+    boolean $assertionsDisabled -> a
+    int offset -> c
     1:1:void <clinit>():9:9 -> <clinit>
     1:7:void <init>(byte[],int,int):25:31 -> <init>
     1:1:byte[] copyByteData():58:58 -> copyByteData
@@ -467,8 +466,8 @@
     1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():186:186 -> getDataResourceConsumer
     1:1:java.nio.file.Path internalGetOutputPath():212:212 -> internalGetOutputPath
 com.android.tools.r8.ClassFileConsumer$ForwardingConsumer -> com.android.tools.r8.ClassFileConsumer$ForwardingConsumer:
-    com.android.tools.r8.ClassFileConsumer EMPTY_CONSUMER -> b
-    com.android.tools.r8.ClassFileConsumer consumer -> a
+    com.android.tools.r8.ClassFileConsumer consumer -> b
+    com.android.tools.r8.ClassFileConsumer EMPTY_CONSUMER -> a
     1:1:void <clinit>():56:56 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ClassFileConsumer):60:61 -> <init>
     1:1:com.android.tools.r8.ClassFileConsumer access$000():54:54 -> a
@@ -503,20 +502,20 @@
     22:22:void lambda$run$5(java.lang.String):212:212 -> a
     23:61:com.android.tools.r8.graph.DexApplication rewriteNonDexInputs(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DexApplication):300:338 -> a
     62:62:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):350:350 -> a
-    63:63:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):392:392 -> a
+    63:63:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):376:376 -> a
     63:63:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):350 -> a
     64:64:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):351:351 -> a
     1:1:void lambda$run$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):112:112 -> b
     1:3:void lambda$runForTesting$3(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):151:153 -> c
     1:20:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):160:179 -> d
     21:34:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):178:191 -> d
-    35:35:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):388:388 -> d
+    35:35:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):372:372 -> d
     35:35:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):191 -> d
     36:83:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):192:239 -> d
-    84:84:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> d
+    84:84:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> d
     84:84:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):240 -> d
     85:91:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):241:247 -> d
-    92:92:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():409:409 -> d
+    92:92:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():405:405 -> d
     92:92:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):249 -> d
     93:109:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):249:265 -> d
     110:138:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):257:285 -> d
@@ -538,23 +537,23 @@
     5:5:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):375:375 -> accept
     1:1:java.util.Collection getProgramResources():382:382 -> getProgramResources
 com.android.tools.r8.D8Command -> com.android.tools.r8.D8Command:
-    com.android.tools.r8.DesugarGraphConsumer desugarGraphConsumer -> s
-    java.lang.String synthesizedClassPrefix -> v
-    java.lang.String USAGE_MESSAGE -> z
-    com.android.tools.r8.graph.DexItemFactory factory -> y
-    com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration libraryConfiguration -> u
-    boolean enableMainDexListCheck -> w
-    boolean minimalMainDex -> x
-    boolean $assertionsDisabled -> A
-    boolean intermediate -> r
-    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> t
+    java.lang.String synthesizedClassPrefix -> x
+    boolean enableMainDexListCheck -> y
+    boolean minimalMainDex -> z
+    com.android.tools.r8.DesugarGraphConsumer desugarGraphConsumer -> u
+    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> v
+    java.lang.String USAGE_MESSAGE -> r
+    boolean $assertionsDisabled -> s
+    com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration libraryConfiguration -> w
+    boolean intermediate -> t
+    com.android.tools.r8.graph.DexItemFactory factory -> A
     1:221:void <clinit>():42:262 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.CompilationMode,com.android.tools.r8.ProgramConsumer,com.android.tools.r8.StringConsumer,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.InternalOptions$DesugarState,boolean,boolean,boolean,java.util.function.BiPredicate,com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration,java.util.List,java.util.List,java.lang.String,boolean,boolean,int,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.D8Command$1):43:43 -> <init>
     2:2:void <init>(boolean,boolean,com.android.tools.r8.D8Command$1):43:43 -> <init>
     3:24:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.CompilationMode,com.android.tools.r8.ProgramConsumer,com.android.tools.r8.StringConsumer,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.InternalOptions$DesugarState,boolean,boolean,boolean,java.util.function.BiPredicate,com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration,java.util.List,java.util.List,java.lang.String,boolean,boolean,int,com.android.tools.r8.graph.DexItemFactory):335:356 -> <init>
     25:33:void <init>(boolean,boolean):360:368 -> <init>
     1:1:com.android.tools.r8.D8Command$Builder builder(com.android.tools.r8.utils.AndroidApp):283:283 -> a
-    2:56:com.android.tools.r8.utils.InternalOptions getInternalOptions():373:427 -> a
+    2:55:com.android.tools.r8.utils.InternalOptions getInternalOptions():373:426 -> a
     1:1:com.android.tools.r8.D8Command$Builder builder():274:274 -> builder
     2:2:com.android.tools.r8.D8Command$Builder builder(com.android.tools.r8.DiagnosticsHandler):278:278 -> builder
     1:1:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):296:296 -> parse
@@ -586,11 +585,8 @@
     1:1:com.android.tools.r8.BaseCommand makeCommand():67:67 -> c
     2:2:void lambda$addDexProgramData$0(byte[],com.android.tools.r8.origin.Origin):94:94 -> c
     com.android.tools.r8.BaseCommand$Builder self() -> d
-    1:2:void validate():197:198 -> e
-    3:36:void com.android.tools.r8.utils.Reporter.warning(java.lang.String):0:33 -> e
-    3:36:void validate():199 -> e
-    37:51:void validate():201:215 -> e
-    52:61:void validate():213:222 -> e
+    1:19:void validate():197:215 -> e
+    20:29:void validate():213:222 -> e
     1:1:com.android.tools.r8.CompilationMode defaultCompilationMode():173:173 -> f
     1:1:com.android.tools.r8.DesugarGraphConsumer getDesugarGraphConsumer():147:147 -> getDesugarGraphConsumer
     1:17:com.android.tools.r8.D8Command makeCommand():227:243 -> m
@@ -610,23 +606,23 @@
     java.util.Set OPTIONS_WITH_PARAMETER -> d
     java.lang.String USAGE_MESSAGE -> e
     1:103:void <clinit>():27:129 -> <clinit>
-    104:131:void <clinit>():114:141 -> <clinit>
-    132:132:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):449:449 -> <clinit>
-    132:132:void <clinit>():113 -> <clinit>
-    133:133:void <clinit>():111:111 -> <clinit>
+    104:134:void <clinit>():114:144 -> <clinit>
+    135:135:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):449:449 -> <clinit>
+    135:135:void <clinit>():113 -> <clinit>
+    136:136:void <clinit>():111:111 -> <clinit>
     1:1:void <init>():25:25 -> <init>
-    1:1:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):154:154 -> a
-    2:2:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):168:168 -> a
-    3:45:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):177:219 -> a
-    46:58:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):217:229 -> a
-    59:62:boolean isArchive(java.nio.file.Path):43:46 -> a
-    59:62:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):232 -> a
-    63:66:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):233:236 -> a
-    67:70:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):235:238 -> a
-    71:117:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):230:276 -> a
-    118:118:boolean com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder.isEmpty():66:66 -> a
-    118:118:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):279 -> a
-    119:130:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):280:291 -> a
+    1:1:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):157:157 -> a
+    2:2:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):171:171 -> a
+    3:47:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):180:224 -> a
+    48:60:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):222:234 -> a
+    61:64:boolean isArchive(java.nio.file.Path):43:46 -> a
+    61:64:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):237 -> a
+    65:68:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):238:241 -> a
+    69:72:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):240:243 -> a
+    73:119:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):235:281 -> a
+    120:120:boolean com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder.isEmpty():66:66 -> a
+    120:120:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):284 -> a
+    121:132:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):285:296 -> a
 com.android.tools.r8.D8CommandParser$1 -> com.android.tools.r8.c$a:
 com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider -> com.android.tools.r8.c$b:
     java.util.List providers -> a
@@ -650,27 +646,27 @@
     1:1:com.android.tools.r8.DataDirectoryResource fromZip(java.util.zip.ZipFile,java.util.zip.ZipEntry):28:28 -> fromZip
 com.android.tools.r8.DataDirectoryResource$1 -> com.android.tools.r8.DataDirectoryResource$a:
 com.android.tools.r8.DataDirectoryResource$LocalDataDirectoryResource -> com.android.tools.r8.DataDirectoryResource$b:
-    java.io.File file -> a
-    java.lang.String relativePath -> b
-    boolean $assertionsDisabled -> c
+    java.io.File file -> b
+    boolean $assertionsDisabled -> a
+    java.lang.String relativePath -> c
     1:1:void <clinit>():75:75 -> <clinit>
     1:1:void <init>(java.io.File,java.lang.String,com.android.tools.r8.DataDirectoryResource$1):75:75 -> <init>
     2:6:void <init>(java.io.File,java.lang.String):79:83 -> <init>
     1:1:java.lang.String getName():93:93 -> getName
     1:1:com.android.tools.r8.origin.Origin getOrigin():88:88 -> getOrigin
 com.android.tools.r8.DataDirectoryResource$NamedDataDirectoryResource -> com.android.tools.r8.DataDirectoryResource$c:
-    com.android.tools.r8.origin.Origin origin -> b
-    java.lang.String name -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.origin.Origin origin -> c
+    boolean $assertionsDisabled -> a
+    java.lang.String name -> b
     1:1:void <clinit>():31:31 -> <clinit>
     1:1:void <init>(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.DataDirectoryResource$1):31:31 -> <init>
     2:6:void <init>(java.lang.String,com.android.tools.r8.origin.Origin):35:39 -> <init>
     1:1:java.lang.String getName():49:49 -> getName
     1:1:com.android.tools.r8.origin.Origin getOrigin():44:44 -> getOrigin
 com.android.tools.r8.DataDirectoryResource$ZipDataDirectoryResource -> com.android.tools.r8.DataDirectoryResource$d:
-    java.util.zip.ZipFile zip -> a
-    boolean $assertionsDisabled -> c
-    java.util.zip.ZipEntry entry -> b
+    java.util.zip.ZipFile zip -> b
+    java.util.zip.ZipEntry entry -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():53:53 -> <clinit>
     1:1:void <init>(java.util.zip.ZipFile,java.util.zip.ZipEntry,com.android.tools.r8.DataDirectoryResource$1):53:53 -> <init>
     2:6:void <init>(java.util.zip.ZipFile,java.util.zip.ZipEntry):57:61 -> <init>
@@ -691,9 +687,9 @@
     1:1:java.lang.String getName():61:61 -> getName
     1:1:com.android.tools.r8.origin.Origin getOrigin():66:66 -> getOrigin
 com.android.tools.r8.DataEntryResource$LocalDataEntryResource -> com.android.tools.r8.DataEntryResource$c:
-    java.io.File file -> a
-    java.lang.String relativePath -> b
-    boolean $assertionsDisabled -> c
+    java.io.File file -> b
+    boolean $assertionsDisabled -> a
+    java.lang.String relativePath -> c
     1:1:void <clinit>():101:101 -> <clinit>
     1:1:void <init>(java.io.File,java.lang.String,com.android.tools.r8.DataEntryResource$1):101:101 -> <init>
     2:6:void <init>(java.io.File,java.lang.String):105:109 -> <init>
@@ -708,9 +704,9 @@
     1:1:java.lang.String getName():154:154 -> getName
     1:1:com.android.tools.r8.origin.Origin getOrigin():159:159 -> getOrigin
 com.android.tools.r8.DataEntryResource$ZipDataEntryResource -> com.android.tools.r8.DataEntryResource$e:
-    java.util.zip.ZipFile zip -> a
-    boolean $assertionsDisabled -> c
-    java.util.zip.ZipEntry entry -> b
+    java.util.zip.ZipFile zip -> b
+    java.util.zip.ZipEntry entry -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():70:70 -> <clinit>
     1:1:void <init>(java.util.zip.ZipFile,java.util.zip.ZipEntry,com.android.tools.r8.DataEntryResource$1):70:70 -> <init>
     2:6:void <init>(java.util.zip.ZipFile,java.util.zip.ZipEntry):74:78 -> <init>
@@ -722,9 +718,9 @@
     2:2:void accept(java.lang.String,byte[],java.util.Set,com.android.tools.r8.DiagnosticsHandler):72:72 -> accept
     1:1:com.android.tools.r8.DexFilePerClassFileConsumer emptyConsumer():91:91 -> emptyConsumer
 com.android.tools.r8.DexFilePerClassFileConsumer$ArchiveConsumer -> com.android.tools.r8.DexFilePerClassFileConsumer$ArchiveConsumer:
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
-    boolean consumeDataResources -> d
+    boolean consumeDataResources -> e
+    com.android.tools.r8.utils.OutputBuilder outputBuilder -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():140:140 -> <clinit>
     1:1:void <init>(java.nio.file.Path):152:152 -> <init>
     2:2:void <init>(java.nio.file.Path,boolean):156:156 -> <init>
@@ -743,8 +739,8 @@
     13:20:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):218:225 -> writeResources
     21:30:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):217:226 -> writeResources
 com.android.tools.r8.DexFilePerClassFileConsumer$DirectoryConsumer -> com.android.tools.r8.DexFilePerClassFileConsumer$DirectoryConsumer:
-    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.utils.OutputBuilder outputBuilder -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():231:231 -> <clinit>
     1:1:void <init>(java.nio.file.Path):243:243 -> <init>
     2:2:void <init>(java.nio.file.Path,boolean):247:247 -> <init>
@@ -767,8 +763,8 @@
     8:8:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):301:301 -> writeResources
     9:15:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):295:301 -> writeResources
 com.android.tools.r8.DexFilePerClassFileConsumer$ForwardingConsumer -> com.android.tools.r8.DexFilePerClassFileConsumer$ForwardingConsumer:
-    com.android.tools.r8.DexFilePerClassFileConsumer EMPTY_CONSUMER -> b
-    com.android.tools.r8.DexFilePerClassFileConsumer consumer -> a
+    com.android.tools.r8.DexFilePerClassFileConsumer consumer -> b
+    com.android.tools.r8.DexFilePerClassFileConsumer EMPTY_CONSUMER -> a
     1:1:void <clinit>():98:98 -> <clinit>
     1:2:void <init>(com.android.tools.r8.DexFilePerClassFileConsumer):102:103 -> <init>
     1:1:com.android.tools.r8.DexFilePerClassFileConsumer access$000():96:96 -> a
@@ -838,8 +834,8 @@
     9:9:void writeResources(java.nio.file.Path,java.util.List):298:298 -> writeResources
     10:16:void writeResources(java.nio.file.Path,java.util.List):292:298 -> writeResources
 com.android.tools.r8.DexIndexedConsumer$ForwardingConsumer -> com.android.tools.r8.DexIndexedConsumer$ForwardingConsumer:
-    com.android.tools.r8.DexIndexedConsumer EMPTY_CONSUMER -> b
-    com.android.tools.r8.DexIndexedConsumer consumer -> a
+    com.android.tools.r8.DexIndexedConsumer consumer -> b
+    com.android.tools.r8.DexIndexedConsumer EMPTY_CONSUMER -> a
     1:1:void <clinit>():82:82 -> <clinit>
     1:2:void <init>(com.android.tools.r8.DexIndexedConsumer):86:87 -> <init>
     1:1:com.android.tools.r8.DexIndexedConsumer access$000():80:80 -> a
@@ -866,8 +862,8 @@
     1:4:void info(com.android.tools.r8.Diagnostic):55:58 -> info
     1:6:void warning(com.android.tools.r8.Diagnostic):41:46 -> warning
 com.android.tools.r8.DirectoryClassFileProvider -> com.android.tools.r8.DirectoryClassFileProvider:
-    java.nio.file.Path root -> a
-    boolean $assertionsDisabled -> b
+    java.nio.file.Path root -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():22:22 -> <clinit>
     1:2:void <init>(java.nio.file.Path):31:32 -> <init>
     1:11:void collectClassDescriptors(java.nio.file.Path,java.util.Set):43:53 -> a
@@ -953,13 +949,13 @@
     1:2:void <init>(com.android.tools.r8.origin.Origin,int):35:36 -> <init>
     1:1:java.lang.String part():41:41 -> part
 com.android.tools.r8.ExtractMarkerCommand -> com.android.tools.r8.f:
-    java.lang.String USAGE_MESSAGE -> g
-    java.util.List programFiles -> f
-    boolean csv -> e
-    boolean printHelp -> a
-    boolean includeOther -> b
-    boolean verbose -> c
-    boolean summary -> d
+    boolean summary -> e
+    boolean csv -> f
+    java.lang.String USAGE_MESSAGE -> a
+    java.util.List programFiles -> g
+    boolean printHelp -> b
+    boolean includeOther -> c
+    boolean verbose -> d
     1:1:void <clinit>():67:67 -> <clinit>
     1:1:void <init>(boolean,com.android.tools.r8.ExtractMarkerCommand$1):14:14 -> <init>
     2:2:void <init>(boolean,boolean,boolean,boolean,java.util.List,com.android.tools.r8.ExtractMarkerCommand$1):14:14 -> <init>
@@ -1011,13 +1007,13 @@
     1:1:com.android.tools.r8.FeatureSplit build():93:93 -> build
     1:1:com.android.tools.r8.FeatureSplit$Builder setProgramConsumer(com.android.tools.r8.ProgramConsumer):77:77 -> setProgramConsumer
 com.android.tools.r8.GenerateLintFiles -> com.android.tools.r8.g:
-    com.android.tools.r8.utils.InternalOptions options -> c
-    java.util.Set parallelMethods -> f
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration desugaredLibraryConfiguration -> d
-    com.android.tools.r8.utils.Reporter reporter -> b
-    java.lang.String outputDirectory -> e
-    com.android.tools.r8.graph.DexItemFactory factory -> a
+    com.android.tools.r8.graph.DexItemFactory factory -> b
+    java.util.Set parallelMethods -> g
+    java.lang.String outputDirectory -> f
+    com.android.tools.r8.utils.InternalOptions options -> d
+    com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration desugaredLibraryConfiguration -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.utils.Reporter reporter -> c
     1:1:void <clinit>():59:59 -> <clinit>
     1:1:void <init>(java.lang.String,java.lang.String):72:72 -> <init>
     2:22:void <init>(java.lang.String,java.lang.String):63:83 -> <init>
@@ -1064,9 +1060,9 @@
     java.util.Set classesWithAllMethodsSupported -> a
     1:3:void <init>(java.util.Set,java.util.Map):189:191 -> <init>
 com.android.tools.r8.GenerateMainDexList -> com.android.tools.r8.GenerateMainDexList:
-    com.android.tools.r8.utils.Timing timing -> a
-    com.android.tools.r8.utils.InternalOptions options -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.utils.Timing timing -> b
+    com.android.tools.r8.utils.InternalOptions options -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():38:38 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.InternalOptions):43:43 -> <init>
     2:6:void <init>(com.android.tools.r8.utils.InternalOptions):40:44 -> <init>
@@ -1077,7 +1073,7 @@
     41:41:java.lang.String lambda$run$0(com.android.tools.r8.graph.DexType):78:78 -> a
     42:46:java.lang.Iterable lambda$run$2(com.android.tools.r8.shaking.MainDexClasses,com.android.tools.r8.graph.AppView):90:94 -> a
     47:49:void lambda$run$3(com.android.tools.r8.utils.Box,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):160:162 -> a
-    50:50:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    50:50:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     50:50:void lambda$run$1(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):96 -> a
     51:52:void lambda$run$1(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):97:98 -> a
     1:13:void main(java.lang.String[]):169:181 -> main
@@ -1087,12 +1083,12 @@
     11:11:java.util.List run(com.android.tools.r8.GenerateMainDexListCommand,java.util.concurrent.ExecutorService):156 -> run
     12:12:java.util.List run(com.android.tools.r8.GenerateMainDexListCommand,java.util.concurrent.ExecutorService):165:165 -> run
 com.android.tools.r8.GenerateMainDexListCommand -> com.android.tools.r8.GenerateMainDexListCommand:
-    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> g
-    java.lang.String USAGE_MESSAGE -> j
-    java.util.List mainDexKeepRules -> e
-    com.android.tools.r8.utils.Reporter reporter -> i
-    com.android.tools.r8.graph.DexItemFactory factory -> h
-    com.android.tools.r8.StringConsumer mainDexListConsumer -> f
+    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> h
+    java.util.List mainDexKeepRules -> f
+    com.android.tools.r8.utils.Reporter reporter -> j
+    com.android.tools.r8.graph.DexItemFactory factory -> i
+    com.android.tools.r8.StringConsumer mainDexListConsumer -> g
+    java.lang.String USAGE_MESSAGE -> e
     1:1:void <clinit>():137:137 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApp,java.util.List,com.android.tools.r8.StringConsumer,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.utils.Reporter,com.android.tools.r8.GenerateMainDexListCommand$1):26:26 -> <init>
     2:2:void <init>(boolean,boolean,com.android.tools.r8.GenerateMainDexListCommand$1):26:26 -> <init>
@@ -1134,12 +1130,12 @@
     1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder setMainDexListOutputPath(java.nio.file.Path):94:94 -> setMainDexListOutputPath
 com.android.tools.r8.InternalProgramOutputPathConsumer -> com.android.tools.r8.h:
 com.android.tools.r8.JdkClassFileProvider -> com.android.tools.r8.JdkClassFileProvider:
-    com.android.tools.r8.origin.Origin origin -> a
-    java.util.Map descriptorToModule -> c
-    boolean $assertionsDisabled -> f
-    java.nio.file.FileSystem jrtFs -> e
-    java.util.Set descriptors -> b
-    java.net.URLClassLoader jrtFsJarLoader -> d
+    java.util.Map descriptorToModule -> d
+    java.util.Set descriptors -> c
+    com.android.tools.r8.origin.Origin origin -> b
+    java.nio.file.FileSystem jrtFs -> f
+    boolean $assertionsDisabled -> a
+    java.net.URLClassLoader jrtFsJarLoader -> e
     1:1:void <clinit>():37:37 -> <clinit>
     1:1:void <init>():100:100 -> <init>
     2:64:void <init>():40:102 -> <init>
@@ -1175,7 +1171,7 @@
     14:14:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):93:93 -> a
     15:46:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):110:141 -> a
     15:46:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):94 -> a
-    47:47:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():409:409 -> a
+    47:47:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():405:405 -> a
     47:47:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):143 -> a
     47:47:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):94 -> a
     48:56:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):143:151 -> a
@@ -1207,19 +1203,19 @@
     7:11:void run(com.android.tools.r8.L8Command,java.util.concurrent.ExecutorService):61:65 -> run
     12:12:void run(com.android.tools.r8.L8Command,java.util.concurrent.ExecutorService):60:60 -> run
 com.android.tools.r8.L8Command -> com.android.tools.r8.L8Command:
-    java.lang.String USAGE_MESSAGE -> v
-    com.android.tools.r8.graph.DexItemFactory factory -> u
-    boolean $assertionsDisabled -> w
-    com.android.tools.r8.D8Command d8Command -> r
-    com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration libraryConfiguration -> t
-    com.android.tools.r8.R8Command r8Command -> s
+    com.android.tools.r8.R8Command r8Command -> u
+    com.android.tools.r8.graph.DexItemFactory factory -> w
+    com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration libraryConfiguration -> v
+    com.android.tools.r8.D8Command d8Command -> t
+    java.lang.String USAGE_MESSAGE -> r
+    boolean $assertionsDisabled -> s
     1:4:void <clinit>():31:34 -> <clinit>
     1:1:void <init>(com.android.tools.r8.R8Command,com.android.tools.r8.D8Command,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.CompilationMode,com.android.tools.r8.ProgramConsumer,com.android.tools.r8.StringConsumer,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration,java.util.List,java.util.List,int,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.L8Command$1):32:32 -> <init>
     2:2:void <init>(boolean,boolean,com.android.tools.r8.L8Command$1):32:32 -> <init>
     3:20:void <init>(com.android.tools.r8.R8Command,com.android.tools.r8.D8Command,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.CompilationMode,com.android.tools.r8.ProgramConsumer,com.android.tools.r8.StringConsumer,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration,java.util.List,java.util.List,int,com.android.tools.r8.graph.DexItemFactory):94:111 -> <init>
     21:25:void <init>(boolean,boolean):115:119 -> <init>
     boolean lambda$new$0(java.lang.String,java.lang.Long) -> a
-    1:47:com.android.tools.r8.utils.InternalOptions getInternalOptions():148:194 -> a
+    1:46:com.android.tools.r8.utils.InternalOptions getInternalOptions():148:193 -> a
     1:1:com.android.tools.r8.L8Command$Builder builder():139:139 -> builder
     2:2:com.android.tools.r8.L8Command$Builder builder(com.android.tools.r8.DiagnosticsHandler):143:143 -> builder
     1:1:com.android.tools.r8.D8Command getD8Command():46:46 -> d
@@ -1231,51 +1227,51 @@
 com.android.tools.r8.L8Command$Builder -> com.android.tools.r8.L8Command$Builder:
     java.util.List proguardConfigFiles -> v
     java.util.List proguardConfigStrings -> u
-    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.L8Command$1):206:206 -> <init>
-    2:2:void <init>(com.android.tools.r8.L8Command$1):206:206 -> <init>
-    3:3:void <init>():212:212 -> <init>
-    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):216:216 -> <init>
-    5:6:void <init>(com.android.tools.r8.DiagnosticsHandler):208:209 -> <init>
-    1:1:com.android.tools.r8.L8Command$Builder addProguardConfiguration(java.util.List,com.android.tools.r8.origin.Origin):248:248 -> addProguardConfiguration
-    1:1:com.android.tools.r8.L8Command$Builder addProguardConfigurationFiles(java.nio.file.Path[]):236:236 -> addProguardConfigurationFiles
-    2:2:com.android.tools.r8.L8Command$Builder addProguardConfigurationFiles(java.util.List):242:242 -> addProguardConfigurationFiles
-    1:5:com.android.tools.r8.L8Command makeCommand():274:278 -> c
-    1:5:com.android.tools.r8.BaseCommand makeCommand():205 -> c
-    6:6:com.android.tools.r8.CompilationMode defaultCompilationMode():231:231 -> c
-    6:6:com.android.tools.r8.L8Command makeCommand():279 -> c
-    6:6:com.android.tools.r8.BaseCommand makeCommand():205 -> c
-    7:25:com.android.tools.r8.L8Command makeCommand():279:297 -> c
-    7:25:com.android.tools.r8.BaseCommand makeCommand():205 -> c
-    26:39:com.android.tools.r8.L8Command makeCommand():296:309 -> c
-    26:39:com.android.tools.r8.BaseCommand makeCommand():205 -> c
-    40:49:com.android.tools.r8.L8Command makeCommand():308:317 -> c
-    40:49:com.android.tools.r8.BaseCommand makeCommand():205 -> c
-    50:73:com.android.tools.r8.L8Command makeCommand():316:339 -> c
-    50:73:com.android.tools.r8.BaseCommand makeCommand():205 -> c
-    74:74:com.android.tools.r8.L8Command makeCommand():275:275 -> c
-    74:74:com.android.tools.r8.BaseCommand makeCommand():205 -> c
+    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.L8Command$1):205:205 -> <init>
+    2:2:void <init>(com.android.tools.r8.L8Command$1):205:205 -> <init>
+    3:3:void <init>():211:211 -> <init>
+    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):215:215 -> <init>
+    5:6:void <init>(com.android.tools.r8.DiagnosticsHandler):207:208 -> <init>
+    1:1:com.android.tools.r8.L8Command$Builder addProguardConfiguration(java.util.List,com.android.tools.r8.origin.Origin):247:247 -> addProguardConfiguration
+    1:1:com.android.tools.r8.L8Command$Builder addProguardConfigurationFiles(java.nio.file.Path[]):235:235 -> addProguardConfigurationFiles
+    2:2:com.android.tools.r8.L8Command$Builder addProguardConfigurationFiles(java.util.List):241:241 -> addProguardConfigurationFiles
+    1:5:com.android.tools.r8.L8Command makeCommand():273:277 -> c
+    1:5:com.android.tools.r8.BaseCommand makeCommand():204 -> c
+    6:6:com.android.tools.r8.CompilationMode defaultCompilationMode():230:230 -> c
+    6:6:com.android.tools.r8.L8Command makeCommand():278 -> c
+    6:6:com.android.tools.r8.BaseCommand makeCommand():204 -> c
+    7:25:com.android.tools.r8.L8Command makeCommand():278:296 -> c
+    7:25:com.android.tools.r8.BaseCommand makeCommand():204 -> c
+    26:39:com.android.tools.r8.L8Command makeCommand():295:308 -> c
+    26:39:com.android.tools.r8.BaseCommand makeCommand():204 -> c
+    40:49:com.android.tools.r8.L8Command makeCommand():307:316 -> c
+    40:49:com.android.tools.r8.BaseCommand makeCommand():204 -> c
+    50:73:com.android.tools.r8.L8Command makeCommand():315:338 -> c
+    50:73:com.android.tools.r8.BaseCommand makeCommand():204 -> c
+    74:74:com.android.tools.r8.L8Command makeCommand():274:274 -> c
+    74:74:com.android.tools.r8.BaseCommand makeCommand():204 -> c
     com.android.tools.r8.BaseCommand$Builder self() -> d
-    1:16:void validate():254:269 -> e
-    1:1:com.android.tools.r8.CompilationMode defaultCompilationMode():231:231 -> f
-    1:1:boolean isShrinking():221:221 -> isShrinking
+    1:16:void validate():253:268 -> e
+    1:1:com.android.tools.r8.CompilationMode defaultCompilationMode():230:230 -> f
+    1:1:boolean isShrinking():220:220 -> isShrinking
 com.android.tools.r8.L8Command$DefaultL8DiagnosticsHandler -> com.android.tools.r8.L8Command$b:
     1:1:void <init>():122:122 -> <init>
     1:5:void error(com.android.tools.r8.Diagnostic):126:130 -> error
     6:12:void error(com.android.tools.r8.Diagnostic):128:134 -> error
 com.android.tools.r8.L8Command$DesugaredLibrary -> com.android.tools.r8.L8Command$c:
     java.util.List resources -> a
-    1:3:void <init>():344:346 -> <init>
-    1:3:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):352:354 -> accept
-    4:4:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):353:353 -> accept
-    5:5:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):352:352 -> accept
-    1:1:java.util.Collection getProgramResources():359:359 -> getProgramResources
+    1:3:void <init>():343:345 -> <init>
+    1:3:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):351:353 -> accept
+    4:4:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):352:352 -> accept
+    5:5:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):351:351 -> accept
+    1:1:java.util.Collection getProgramResources():358:358 -> getProgramResources
 com.android.tools.r8.L8CommandParser -> com.android.tools.r8.i:
     java.util.Set OPTIONS_WITH_PARAMETER -> d
-    1:29:void <clinit>():22:50 -> <clinit>
-    30:50:void <clinit>():37:57 -> <clinit>
-    51:51:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):449:449 -> <clinit>
-    51:51:void <clinit>():36 -> <clinit>
-    52:52:void <clinit>():34:34 -> <clinit>
+    1:30:void <clinit>():21:50 -> <clinit>
+    31:51:void <clinit>():37:57 -> <clinit>
+    52:52:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):449:449 -> <clinit>
+    52:52:void <clinit>():36 -> <clinit>
+    53:53:void <clinit>():34:34 -> <clinit>
     1:1:void <init>():19:19 -> <init>
     1:1:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):71:71 -> a
     2:2:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):85:85 -> a
@@ -1297,11 +1293,11 @@
     1:3:byte[] getBytes():65:67 -> getBytes
 com.android.tools.r8.ProgramResource$1 -> com.android.tools.r8.ProgramResource$a:
 com.android.tools.r8.ProgramResource$ByteResource -> com.android.tools.r8.ProgramResource$ByteResource:
-    com.android.tools.r8.origin.Origin origin -> a
-    java.util.Set classDescriptors -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ProgramResource$Kind kind -> b
-    byte[] bytes -> c
+    com.android.tools.r8.origin.Origin origin -> b
+    java.util.Set classDescriptors -> e
+    com.android.tools.r8.ProgramResource$Kind kind -> c
+    boolean $assertionsDisabled -> a
+    byte[] bytes -> d
     1:1:void <clinit>():130:130 -> <clinit>
     1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ProgramResource$Kind,byte[],java.util.Set,com.android.tools.r8.ProgramResource$1):131:131 -> <init>
     2:7:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ProgramResource$Kind,byte[],java.util.Set):137:142 -> <init>
@@ -1330,26 +1326,26 @@
     1:1:com.android.tools.r8.ProgramResource$Kind valueOf(java.lang.String):28:28 -> valueOf
     1:1:com.android.tools.r8.ProgramResource$Kind[] values():28:28 -> values
 com.android.tools.r8.R8 -> com.android.tools.r8.R8:
-    com.android.tools.r8.utils.Timing timing -> a
-    com.android.tools.r8.utils.InternalOptions options -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.utils.Timing timing -> b
+    com.android.tools.r8.utils.InternalOptions options -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():149:149 -> <clinit>
     1:6:void <init>(com.android.tools.r8.utils.InternalOptions):155:160 -> <init>
     1:1:void lambda$run$0(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):193:193 -> a
     2:5:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.ProguardMapSupplier):207:210 -> a
-    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     6:6:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.ProguardMapSupplier):211 -> a
     7:7:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.ProguardMapSupplier):212:212 -> a
-    8:8:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():409:409 -> a
+    8:8:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():405:405 -> a
     8:8:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.ProguardMapSupplier):214 -> a
     9:23:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.ProguardMapSupplier):214:228 -> a
     24:25:java.util.Set filterMissingClasses(java.util.Set,com.android.tools.r8.shaking.ProguardClassFilter):234:235 -> a
-    26:27:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):241:242 -> a
-    28:28:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):59:59 -> a
-    28:28:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):242 -> a
-    29:29:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    29:29:void lambda$run$5(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):652 -> a
-    30:31:void lambda$run$5(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):653:654 -> a
+    26:26:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    26:26:void lambda$run$5(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):651 -> a
+    27:28:void lambda$run$5(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):652:653 -> a
+    29:30:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):241:242 -> a
+    31:31:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):59:59 -> a
+    31:31:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):242 -> a
     32:83:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):259:310 -> a
     84:110:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):309:335 -> a
     111:115:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):334:338 -> a
@@ -1361,96 +1357,97 @@
     195:195:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):399:399 -> a
     196:277:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):395:476 -> a
     278:306:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):475:503 -> a
-    307:325:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):502:520 -> a
-    326:346:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):519:539 -> a
-    347:365:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):538:556 -> a
-    366:444:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):555:633 -> a
-    445:499:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):631:685 -> a
-    500:510:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):683:693 -> a
-    511:516:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):691:696 -> a
-    517:537:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):689:709 -> a
-    538:556:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):707:725 -> a
-    557:557:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):722:722 -> a
-    558:576:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):719:737 -> a
-    577:618:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):736:777 -> a
-    619:652:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):762:795 -> a
-    653:740:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):794:881 -> a
-    741:764:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):832:855 -> a
-    765:765:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):851:851 -> a
-    766:789:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):849:872 -> a
-    790:807:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):864:881 -> a
-    808:808:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):582:582 -> a
-    809:1273:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):417:881 -> a
-    1274:1276:void lambda$run$2(com.android.tools.r8.graph.DexType):314:314 -> a
-    1277:1277:void lambda$run$4(com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):379:379 -> a
-    1278:1282:java.lang.Iterable lambda$run$6(com.android.tools.r8.shaking.MainDexClasses,com.android.tools.r8.graph.AppView):646:650 -> a
-    1283:1283:void lambda$run$7(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):700:700 -> a
-    1284:1284:com.android.tools.r8.shaking.TreePrunerConfiguration lambda$run$8(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):708:708 -> a
-    1285:1285:java.lang.Iterable lambda$run$9(com.android.tools.r8.graph.AppView):738:738 -> a
-    1286:1286:void lambda$run$10(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):772:772 -> a
-    1287:1287:void lambda$run$11(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):779:779 -> a
-    1288:1288:void lambda$run$12(java.lang.String):826:826 -> a
-    1289:1289:boolean lambda$run$13(com.android.tools.r8.graph.DexProgramClass):843:843 -> a
-    1290:1298:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):892:900 -> a
-    1299:1308:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):898:907 -> a
-    1309:1309:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):905:905 -> a
-    1310:1319:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):904:913 -> a
-    1320:1320:void lambda$runEnqueuer$14(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):915:915 -> a
-    1321:1323:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):932:934 -> a
-    1324:1352:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):933:961 -> a
-    1353:1363:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):959:969 -> a
-    1364:1369:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):968:973 -> a
-    1370:1375:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):971:976 -> a
-    1376:1376:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
-    1376:1376:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):976 -> a
-    1377:1377:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
-    1377:1377:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
-    1377:1377:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):976 -> a
-    1378:1378:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):976:976 -> a
-    1379:1382:boolean verifyNoJarApplicationReaders(java.util.List):981:984 -> a
-    1383:1383:void lambda$run$15(com.android.tools.r8.R8Command,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):1006:1006 -> a
-    1384:1384:void lambda$main$16(java.lang.String[]):1022:1022 -> a
+    307:324:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):502:519 -> a
+    325:344:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):518:537 -> a
+    345:364:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):536:555 -> a
+    365:443:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):554:632 -> a
+    444:498:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):630:684 -> a
+    499:509:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):682:692 -> a
+    510:515:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):690:695 -> a
+    516:536:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):688:708 -> a
+    537:555:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):706:724 -> a
+    556:556:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):721:721 -> a
+    557:575:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):718:736 -> a
+    576:617:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):735:776 -> a
+    618:651:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):761:794 -> a
+    652:739:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):793:880 -> a
+    740:763:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):831:854 -> a
+    764:764:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):850:850 -> a
+    765:788:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):848:871 -> a
+    789:806:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):863:880 -> a
+    807:807:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):581:581 -> a
+    808:1271:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):417:880 -> a
+    1272:1274:void lambda$run$2(com.android.tools.r8.graph.DexType):314:314 -> a
+    1275:1275:void lambda$run$4(com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):379:379 -> a
+    1276:1280:java.lang.Iterable lambda$run$6(com.android.tools.r8.shaking.MainDexClasses,com.android.tools.r8.graph.AppView):645:649 -> a
+    1281:1281:void lambda$run$7(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):699:699 -> a
+    1282:1282:com.android.tools.r8.shaking.TreePrunerConfiguration lambda$run$8(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):707:707 -> a
+    1283:1283:java.lang.Iterable lambda$run$9(com.android.tools.r8.graph.AppView):737:737 -> a
+    1284:1284:void lambda$run$10(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):771:771 -> a
+    1285:1285:void lambda$run$11(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):778:778 -> a
+    1286:1286:void lambda$run$12(java.lang.String):825:825 -> a
+    1287:1287:boolean lambda$run$13(com.android.tools.r8.graph.DexProgramClass):842:842 -> a
+    1288:1296:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):891:899 -> a
+    1297:1306:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):897:906 -> a
+    1307:1307:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):904:904 -> a
+    1308:1321:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):903:916 -> a
+    1322:1322:void lambda$runEnqueuer$14(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):914:914 -> a
+    1323:1325:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):935:937 -> a
+    1326:1354:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):936:964 -> a
+    1355:1365:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):962:972 -> a
+    1366:1371:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):971:976 -> a
+    1372:1377:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):974:979 -> a
+    1378:1378:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
+    1378:1378:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):979 -> a
+    1379:1379:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
+    1379:1379:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
+    1379:1379:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):979 -> a
+    1380:1380:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):979:979 -> a
+    1381:1384:boolean verifyNoJarApplicationReaders(java.util.List):984:987 -> a
+    1385:1385:void lambda$run$16(com.android.tools.r8.R8Command,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):1009:1009 -> a
+    1386:1386:void lambda$main$17(java.lang.String[]):1025:1025 -> a
     boolean lambda$run$3(com.android.tools.r8.graph.DexType) -> b
     1:3:void lambda$runForTesting$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):246:248 -> b
-    4:5:void run(java.lang.String[]):992:993 -> b
-    6:6:void com.android.tools.r8.utils.SelfRetraceTest.test():25:25 -> b
-    6:6:void run(java.lang.String[]):994 -> b
-    7:7:void run(java.lang.String[]):995:995 -> b
-    8:8:void com.android.tools.r8.utils.SelfRetraceTest.foo3():13:13 -> b
-    8:8:void com.android.tools.r8.utils.SelfRetraceTest.foo2():17 -> b
-    8:8:void com.android.tools.r8.utils.SelfRetraceTest.foo1():21 -> b
-    8:8:void com.android.tools.r8.utils.SelfRetraceTest.test():26 -> b
-    8:8:void run(java.lang.String[]):994 -> b
-    9:16:void run(java.lang.String[]):998:1005 -> b
-    17:17:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):59:59 -> b
-    17:17:void run(java.lang.String[]):1005 -> b
-    18:18:void run(java.lang.String[]):1008:1008 -> b
+    4:4:void lambda$runEnqueuer$15(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):918:918 -> b
+    5:6:void run(java.lang.String[]):995:996 -> b
+    7:7:void com.android.tools.r8.utils.SelfRetraceTest.test():25:25 -> b
+    7:7:void run(java.lang.String[]):997 -> b
+    8:8:void run(java.lang.String[]):998:998 -> b
+    9:9:void com.android.tools.r8.utils.SelfRetraceTest.foo3():13:13 -> b
+    9:9:void com.android.tools.r8.utils.SelfRetraceTest.foo2():17 -> b
+    9:9:void com.android.tools.r8.utils.SelfRetraceTest.foo1():21 -> b
+    9:9:void com.android.tools.r8.utils.SelfRetraceTest.test():26 -> b
+    9:9:void run(java.lang.String[]):997 -> b
+    10:17:void run(java.lang.String[]):1001:1008 -> b
+    18:18:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):59:59 -> b
+    18:18:void run(java.lang.String[]):1008 -> b
+    19:19:void run(java.lang.String[]):1011:1011 -> b
     1:1:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):255:255 -> c
-    1:5:void main(java.lang.String[]):1018:1022 -> main
+    1:5:void main(java.lang.String[]):1021:1025 -> main
     1:3:void run(com.android.tools.r8.R8Command):172:174 -> run
     4:7:void run(com.android.tools.r8.R8Command,java.util.concurrent.ExecutorService):188:191 -> run
     8:8:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):59:59 -> run
     8:8:void run(com.android.tools.r8.R8Command,java.util.concurrent.ExecutorService):190 -> run
 com.android.tools.r8.R8Command -> com.android.tools.r8.R8Command:
-    java.util.List mainDexKeepRules -> r
-    java.lang.String USAGE_MESSAGE -> I
-    java.lang.String synthesizedClassPrefix -> H
-    boolean $assertionsDisabled -> J
-    com.android.tools.r8.StringConsumer proguardUsageConsumer -> y
-    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> z
-    boolean enableMinification -> u
-    boolean disableVerticalClassMerging -> v
-    com.android.tools.r8.StringConsumer proguardMapConsumer -> x
-    boolean forceProguardCompatibility -> w
-    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> G
-    boolean enableTreeShaking -> t
-    java.util.function.Consumer syntheticProguardRulesConsumer -> D
-    com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration libraryConfiguration -> F
-    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> E
-    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> s
-    com.android.tools.r8.StringConsumer proguardConfigurationConsumer -> A
-    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> B
-    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> C
+    java.lang.String synthesizedClassPrefix -> J
+    java.util.List mainDexKeepRules -> t
+    com.android.tools.r8.StringConsumer proguardMapConsumer -> z
+    boolean enableTreeShaking -> v
+    boolean enableMinification -> w
+    boolean disableVerticalClassMerging -> x
+    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> I
+    java.lang.String USAGE_MESSAGE -> r
+    boolean $assertionsDisabled -> s
+    boolean forceProguardCompatibility -> y
+    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> G
+    java.util.function.Consumer syntheticProguardRulesConsumer -> F
+    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> u
+    com.android.tools.r8.StringConsumer proguardConfigurationConsumer -> C
+    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> D
+    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> E
+    com.android.tools.r8.StringConsumer proguardUsageConsumer -> A
+    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> B
+    com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration libraryConfiguration -> H
     1:586:void <clinit>():63:648 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ProgramConsumer,java.util.List,com.android.tools.r8.StringConsumer,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.CompilationMode,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.InternalOptions$DesugarState,boolean,boolean,boolean,boolean,com.android.tools.r8.StringConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.experimental.graphinfo.GraphConsumer,java.util.function.Consumer,boolean,boolean,java.util.function.BiPredicate,com.android.tools.r8.StringConsumer,com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration,com.android.tools.r8.features.FeatureSplitConfiguration,java.util.List,java.util.List,java.lang.String,int,com.android.tools.r8.R8Command$1):64:64 -> <init>
     2:2:void <init>(boolean,boolean,com.android.tools.r8.R8Command$1):64:64 -> <init>
@@ -1458,15 +1455,15 @@
     36:53:void <init>(boolean,boolean):782:799 -> <init>
     1:1:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.utils.AndroidApp):680:680 -> a
     2:2:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):685:685 -> a
-    3:61:com.android.tools.r8.utils.InternalOptions getInternalOptions():814:872 -> a
-    62:72:com.android.tools.r8.utils.InternalOptions getInternalOptions():869:879 -> a
-    73:83:com.android.tools.r8.utils.InternalOptions getInternalOptions():876:886 -> a
-    84:94:com.android.tools.r8.utils.InternalOptions getInternalOptions():883:893 -> a
-    95:119:com.android.tools.r8.utils.InternalOptions getInternalOptions():890:914 -> a
-    120:120:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    120:120:com.android.tools.r8.utils.InternalOptions getInternalOptions():919 -> a
-    121:140:com.android.tools.r8.utils.InternalOptions getInternalOptions():920:939 -> a
-    141:143:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):949:951 -> a
+    3:60:com.android.tools.r8.utils.InternalOptions getInternalOptions():814:871 -> a
+    61:71:com.android.tools.r8.utils.InternalOptions getInternalOptions():868:878 -> a
+    72:82:com.android.tools.r8.utils.InternalOptions getInternalOptions():875:885 -> a
+    83:93:com.android.tools.r8.utils.InternalOptions getInternalOptions():882:892 -> a
+    94:118:com.android.tools.r8.utils.InternalOptions getInternalOptions():889:913 -> a
+    119:119:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    119:119:com.android.tools.r8.utils.InternalOptions getInternalOptions():918 -> a
+    120:139:com.android.tools.r8.utils.InternalOptions getInternalOptions():919:938 -> a
+    140:142:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):948:950 -> a
     1:1:com.android.tools.r8.R8Command$Builder builder():670:670 -> builder
     2:2:void com.android.tools.r8.R8Command$Builder.<init>():117:117 -> builder
     2:2:com.android.tools.r8.R8Command$Builder builder():670 -> builder
@@ -1477,25 +1474,25 @@
     2:2:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):712:712 -> parse
 com.android.tools.r8.R8Command$1 -> com.android.tools.r8.R8Command$a:
 com.android.tools.r8.R8Command$Builder -> com.android.tools.r8.R8Command$Builder:
-    boolean $assertionsDisabled -> M
-    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> H
-    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> I
-    java.lang.String synthesizedClassPrefix -> K
-    java.util.List mainDexRules -> u
-    boolean allowTestProguardOptions -> L
-    java.util.function.Consumer syntheticProguardRulesConsumer -> w
-    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> x
-    java.util.List proguardConfigs -> y
-    java.util.function.Consumer proguardConfigurationConsumerForTesting -> v
-    boolean disableTreeShaking -> z
-    com.android.tools.r8.StringConsumer proguardConfigurationConsumer -> G
-    java.util.List featureSplits -> J
-    com.android.tools.r8.StringConsumer proguardUsageConsumer -> E
-    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> F
-    boolean disableMinification -> A
-    boolean disableVerticalClassMerging -> B
-    com.android.tools.r8.StringConsumer proguardMapConsumer -> D
-    boolean forceProguardCompatibility -> C
+    boolean allowTestProguardOptions -> M
+    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> I
+    java.util.List mainDexRules -> v
+    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> y
+    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> J
+    java.lang.String synthesizedClassPrefix -> L
+    boolean $assertionsDisabled -> u
+    java.util.function.Consumer syntheticProguardRulesConsumer -> x
+    java.util.List proguardConfigs -> z
+    java.util.function.Consumer proguardConfigurationConsumerForTesting -> w
+    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> G
+    com.android.tools.r8.StringConsumer proguardConfigurationConsumer -> H
+    com.android.tools.r8.StringConsumer proguardMapConsumer -> E
+    com.android.tools.r8.StringConsumer proguardUsageConsumer -> F
+    boolean disableTreeShaking -> A
+    boolean disableMinification -> B
+    boolean disableVerticalClassMerging -> C
+    boolean forceProguardCompatibility -> D
+    java.util.List featureSplits -> K
     1:1:void <clinit>():71:71 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.R8Command$1):72:72 -> <init>
     2:2:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.R8Command$1):72:72 -> <init>
@@ -1544,12 +1541,12 @@
     1:4:com.android.tools.r8.R8Command makeCommand():456:459 -> p
     5:5:com.android.tools.r8.R8Command makeCommand():457:457 -> p
     1:22:com.android.tools.r8.R8Command makeR8Command():463:484 -> q
-    23:569:boolean com.android.tools.r8.utils.InternalOptions.shouldEnableKeepRuleSynthesisForRecompilation():0:546 -> q
-    23:569:com.android.tools.r8.R8Command makeR8Command():485 -> q
-    570:631:com.android.tools.r8.R8Command makeR8Command():486:547 -> q
-    632:632:com.android.tools.r8.utils.InternalOptions$DesugarState com.android.tools.r8.BaseCompilerCommand$Builder.getDesugaringState():469:469 -> q
-    632:632:com.android.tools.r8.R8Command makeR8Command():548 -> q
-    633:666:com.android.tools.r8.R8Command makeR8Command():551:584 -> q
+    23:565:boolean com.android.tools.r8.utils.InternalOptions.shouldEnableKeepRuleSynthesisForRecompilation():0:542 -> q
+    23:565:com.android.tools.r8.R8Command makeR8Command():485 -> q
+    566:627:com.android.tools.r8.R8Command makeR8Command():486:547 -> q
+    628:628:com.android.tools.r8.utils.InternalOptions$DesugarState com.android.tools.r8.BaseCompilerCommand$Builder.getDesugaringState():469:469 -> q
+    628:628:com.android.tools.r8.R8Command makeR8Command():548 -> q
+    629:662:com.android.tools.r8.R8Command makeR8Command():551:584 -> q
     1:1:com.android.tools.r8.R8Command$Builder setDesugaredLibraryKeepRuleConsumer(com.android.tools.r8.StringConsumer):268:268 -> setDesugaredLibraryKeepRuleConsumer
     1:1:com.android.tools.r8.R8Command$Builder setDisableMinification(boolean):175:175 -> setDisableMinification
     1:1:com.android.tools.r8.R8Command$Builder setDisableTreeShaking(boolean):164:164 -> setDisableTreeShaking
@@ -1586,30 +1583,30 @@
     1:1:com.android.tools.r8.DataResourceProvider getDataResourceProvider():644:644 -> getDataResourceProvider
     1:4:java.util.Collection getProgramResources():632:635 -> getProgramResources
 com.android.tools.r8.R8Command$StandardOutConsumer -> com.android.tools.r8.R8Command$c:
-    1:1:void <init>(com.android.tools.r8.StringConsumer):960:960 -> <init>
-    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):965:966 -> accept
+    1:1:void <init>(com.android.tools.r8.StringConsumer):959:959 -> <init>
+    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):964:965 -> accept
 com.android.tools.r8.R8CommandParser -> com.android.tools.r8.l:
     java.lang.String USAGE_MESSAGE -> f
     java.util.Set OPTIONS_WITH_PARAMETER -> d
     java.util.Set OPTIONS_WITH_TWO_PARAMETERS -> e
-    1:57:void <clinit>():23:79 -> <clinit>
-    58:95:void <clinit>():62:99 -> <clinit>
-    96:96:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):449:449 -> <clinit>
-    96:96:void <clinit>():61 -> <clinit>
-    97:97:void <clinit>():59:59 -> <clinit>
+    1:58:void <clinit>():23:80 -> <clinit>
+    59:98:void <clinit>():63:102 -> <clinit>
+    99:99:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):449:449 -> <clinit>
+    99:99:void <clinit>():62 -> <clinit>
+    100:100:void <clinit>():60:60 -> <clinit>
     1:1:void <init>():21:21 -> <init>
-    1:1:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):112:112 -> a
-    2:2:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):126:126 -> a
-    3:10:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder):130:137 -> a
-    11:30:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):143:162 -> a
-    31:86:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):153:208 -> a
-    87:150:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):205:268 -> a
-    151:151:java.util.List lambda$parse$0(java.nio.file.Path):241:241 -> a
-    152:152:void addFeatureJar(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List):273:273 -> a
-    153:155:com.android.tools.r8.FeatureSplit lambda$addFeatureJar$2(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List,com.android.tools.r8.FeatureSplit$Builder):275:275 -> a
-    157:159:com.android.tools.r8.FeatureSplit lambda$addFeatureJar$2(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List,com.android.tools.r8.FeatureSplit$Builder):277:279 -> a
-    160:163:com.android.tools.r8.FeatureSplit lambda$addFeatureJar$2(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List,com.android.tools.r8.FeatureSplit$Builder):278:281 -> a
-    1:1:void lambda$parse$1(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List):269:269 -> b
+    1:1:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):115:115 -> a
+    2:2:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):129:129 -> a
+    3:10:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder):133:140 -> a
+    11:30:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):146:165 -> a
+    31:86:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):156:211 -> a
+    87:153:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):208:274 -> a
+    154:154:java.util.List lambda$parse$0(java.nio.file.Path):244:244 -> a
+    155:155:void addFeatureJar(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List):279:279 -> a
+    156:158:com.android.tools.r8.FeatureSplit lambda$addFeatureJar$2(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List,com.android.tools.r8.FeatureSplit$Builder):281:281 -> a
+    160:162:com.android.tools.r8.FeatureSplit lambda$addFeatureJar$2(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List,com.android.tools.r8.FeatureSplit$Builder):283:285 -> a
+    163:166:com.android.tools.r8.FeatureSplit lambda$addFeatureJar$2(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List,com.android.tools.r8.FeatureSplit$Builder):284:287 -> a
+    1:1:void lambda$parse$1(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List):275:275 -> b
 com.android.tools.r8.R8CommandParser$1 -> com.android.tools.r8.j:
 com.android.tools.r8.R8CommandParser$ParseState -> com.android.tools.r8.k:
     java.nio.file.Path outputPath -> c
@@ -1617,10 +1614,10 @@
     boolean includeDataResources -> e
     com.android.tools.r8.CompilationMode mode -> a
     boolean hasDefinedApiLevel -> d
-    1:6:void <init>():50:55 -> <init>
-    7:7:void <init>(com.android.tools.r8.R8CommandParser$1):50:50 -> <init>
-    1:1:boolean access$100(com.android.tools.r8.R8CommandParser$ParseState):50:50 -> a
-    2:2:boolean access$102(com.android.tools.r8.R8CommandParser$ParseState,boolean):50:50 -> a
+    1:6:void <init>():51:56 -> <init>
+    7:7:void <init>(com.android.tools.r8.R8CommandParser$1):51:51 -> <init>
+    1:1:boolean access$100(com.android.tools.r8.R8CommandParser$ParseState):51:51 -> a
+    2:2:boolean access$102(com.android.tools.r8.R8CommandParser$ParseState,boolean):51:51 -> a
 com.android.tools.r8.ResourceException -> com.android.tools.r8.ResourceException:
     com.android.tools.r8.origin.Origin origin -> a
     1:2:void <init>(com.android.tools.r8.origin.Origin,java.lang.String):20:21 -> <init>
@@ -1642,9 +1639,9 @@
     1:1:void <init>(com.android.tools.r8.utils.AndroidApp):100:100 -> <init>
     1:1:com.android.tools.r8.utils.InternalOptions getInternalOptions():105:105 -> a
 com.android.tools.r8.ResourceShrinker$DexClassUsageVisitor -> com.android.tools.r8.ResourceShrinker$a:
-    com.android.tools.r8.graph.DexProgramClass classDef -> a
-    com.android.tools.r8.ResourceShrinker$ReferenceChecker callback -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexProgramClass classDef -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ResourceShrinker$ReferenceChecker callback -> c
     1:1:void <clinit>():145:145 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ResourceShrinker$ReferenceChecker):150:152 -> <init>
     1:6:void visit():156:161 -> a
@@ -1763,11 +1760,11 @@
     1:1:void <init>():51:51 -> <init>
     1:1:com.android.tools.r8.StringConsumer$EmptyConsumer access$000():51:51 -> a
 com.android.tools.r8.StringConsumer$FileConsumer -> com.android.tools.r8.StringConsumer$FileConsumer:
-    java.nio.charset.Charset encoding -> c
-    java.nio.file.Path outputPath -> b
-    boolean failedToCreateDelegate -> e
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.StringConsumer$WriterConsumer delegate -> d
+    java.nio.charset.Charset encoding -> d
+    java.nio.file.Path outputPath -> c
+    com.android.tools.r8.StringConsumer$WriterConsumer delegate -> e
+    boolean failedToCreateDelegate -> f
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():92:92 -> <clinit>
     1:1:void <init>(java.nio.file.Path):102:102 -> <init>
     2:2:void <init>(java.nio.file.Path,com.android.tools.r8.StringConsumer):107:107 -> <init>
@@ -1805,19 +1802,19 @@
     3:3:com.android.tools.r8.StringResource fromFile(java.nio.file.Path):37 -> a
 com.android.tools.r8.StringResource$1 -> com.android.tools.r8.m$a:
 com.android.tools.r8.StringResource$FileResource -> com.android.tools.r8.m$b:
-    java.nio.charset.Charset charset -> b
-    com.android.tools.r8.origin.Origin origin -> c
-    java.nio.file.Path file -> a
-    boolean $assertionsDisabled -> d
+    java.nio.charset.Charset charset -> c
+    java.nio.file.Path file -> b
+    com.android.tools.r8.origin.Origin origin -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():82:82 -> <clinit>
     1:1:void <init>(java.nio.file.Path,java.nio.charset.Charset,com.android.tools.r8.StringResource$1):82:82 -> <init>
     2:7:void <init>(java.nio.file.Path,java.nio.charset.Charset):87:92 -> <init>
     1:3:java.lang.String getString():103:105 -> a
     1:1:com.android.tools.r8.origin.Origin getOrigin():97:97 -> getOrigin
 com.android.tools.r8.StringResource$StringContentResource -> com.android.tools.r8.m$c:
-    com.android.tools.r8.origin.Origin origin -> a
-    java.lang.String content -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.origin.Origin origin -> b
+    boolean $assertionsDisabled -> a
+    java.lang.String content -> c
     1:1:void <clinit>():60:60 -> <clinit>
     1:1:void <init>(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.StringResource$1):60:60 -> <init>
     2:6:void <init>(com.android.tools.r8.origin.Origin,java.lang.String):64:68 -> <init>
@@ -1836,8 +1833,8 @@
     1:1:java.lang.String getVersionString():21:21 -> getVersionString
     1:1:boolean isDevelopmentVersion():106:106 -> isDevelopmentVersion
 com.android.tools.r8.androidapi.AvailableApiExceptions -> com.android.tools.r8.n.a:
-    java.util.Set exceptions -> a
-    boolean $assertionsDisabled -> b
+    java.util.Set exceptions -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():24:24 -> <clinit>
     1:3:void <init>(com.android.tools.r8.utils.InternalOptions):28:30 -> <init>
     1:1:boolean canCauseVerificationError(com.android.tools.r8.graph.DexType):34:34 -> a
@@ -1859,14 +1856,14 @@
     1:1:void <clinit>():33:33 -> <clinit>
     1:1:void <init>(java.lang.String,int):33:33 -> <init>
 com.android.tools.r8.bisect.BisectState -> com.android.tools.r8.o.c:
-    java.nio.file.Path stateFile -> e
-    com.android.tools.r8.graph.DexApplication badApp -> b
-    java.util.Map indexMap -> d
-    com.android.tools.r8.bisect.BisectState$Range nextRange -> g
-    java.util.List runs -> f
-    java.util.List sortedGoodClasses -> c
-    java.lang.String signature -> a
-    boolean $assertionsDisabled -> h
+    com.android.tools.r8.bisect.BisectState$Range nextRange -> h
+    java.util.List sortedGoodClasses -> d
+    java.nio.file.Path stateFile -> f
+    java.util.List runs -> g
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexApplication badApp -> c
+    java.util.Map indexMap -> e
+    java.lang.String signature -> b
     1:1:void <clinit>():27:27 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexApplication,java.nio.file.Path):155:155 -> <init>
     2:20:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexApplication,java.nio.file.Path):150:168 -> <init>
@@ -1936,9 +1933,9 @@
     11:16:void write():316:321 -> d
     17:27:void write():311:321 -> d
 com.android.tools.r8.bisect.BisectState$Range -> com.android.tools.r8.o.c$a:
-    int end -> b
-    boolean $assertionsDisabled -> c
-    int start -> a
+    boolean $assertionsDisabled -> a
+    int start -> b
+    int end -> c
     1:1:void <clinit>():29:29 -> <clinit>
     1:4:void <init>(int,int):33:36 -> <init>
     5:9:void <init>(java.lang.String):39:43 -> <init>
@@ -1950,23 +1947,23 @@
     1:1:int hashCode():108:108 -> hashCode
     1:1:java.lang.String toString():94:94 -> toString
 com.android.tools.r8.bisect.BisectState$Run -> com.android.tools.r8.o.c$b:
-    boolean good -> a
-    boolean $assertionsDisabled -> c
-    com.android.tools.r8.bisect.BisectState$Range range -> b
+    boolean $assertionsDisabled -> a
+    boolean good -> b
+    com.android.tools.r8.bisect.BisectState$Range range -> c
     1:1:void <clinit>():116:116 -> <clinit>
     1:4:void <init>(com.android.tools.r8.bisect.BisectOptions$Result,com.android.tools.r8.bisect.BisectState$Range):120:123 -> <init>
     5:9:void <init>(java.lang.String):126:130 -> <init>
 com.android.tools.r8.cf.CfCodePrinter -> com.android.tools.r8.p.a:
-    java.util.Map knownTypeFields -> r
-    java.util.Set imports -> j
-    boolean pendingComma -> p
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelToIndex -> o
-    java.lang.StringBuilder builder -> q
-    java.util.List sortedLabels -> n
-    java.util.Set methodNames -> l
-    boolean $assertionsDisabled -> s
-    java.util.Set synthesizedTypes -> m
-    java.util.List methods -> k
+    java.util.Map knownTypeFields -> s
+    java.util.List sortedLabels -> o
+    boolean $assertionsDisabled -> j
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelToIndex -> p
+    java.lang.StringBuilder builder -> r
+    java.util.Set imports -> k
+    boolean pendingComma -> q
+    java.util.List methods -> l
+    java.util.Set methodNames -> m
+    java.util.Set synthesizedTypes -> n
     1:1:void <clinit>():73:73 -> <clinit>
     1:1:void <init>():89:89 -> <init>
     2:184:void <init>():75:257 -> <init>
@@ -2071,15 +2068,15 @@
     1:1:java.util.Set getSynthesizedTypes():530:530 -> f
     1:1:java.lang.String immutableListType():185:185 -> g
 com.android.tools.r8.cf.CfPrinter -> com.android.tools.r8.p.b:
-    java.util.List sortedLabels -> b
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelToIndex -> c
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.naming.ClassNameMapper mapper -> f
-    java.util.List localsAtLabel -> d
-    int instructionIndexSpace -> h
-    int nextInstructionIndex -> g
-    java.lang.String indent -> a
-    java.lang.StringBuilder builder -> e
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelToIndex -> d
+    java.util.List localsAtLabel -> e
+    com.android.tools.r8.naming.ClassNameMapper mapper -> g
+    int nextInstructionIndex -> h
+    java.util.List sortedLabels -> c
+    int instructionIndexSpace -> i
+    boolean $assertionsDisabled -> a
+    java.lang.StringBuilder builder -> f
+    java.lang.String indent -> b
     1:1:void <clinit>():90:90 -> <clinit>
     1:1:void <init>():111:111 -> <init>
     2:16:void <init>():104:118 -> <init>
@@ -2204,20 +2201,20 @@
     1:2:void newline():679:680 -> c
     1:1:java.lang.String toString():760:760 -> toString
 com.android.tools.r8.cf.CfRegisterAllocator -> com.android.tools.r8.p.d:
-    boolean $assertionsDisabled -> n
-    int maxRegisterNumber -> l
-    com.android.tools.r8.graph.AppView appView -> a
-    int maxArgumentRegisterNumber -> m
-    int nextUnusedRegisterNumber -> k
-    com.android.tools.r8.ir.code.IRCode code -> b
-    com.android.tools.r8.cf.TypeVerificationHelper typeHelper -> c
-    java.util.PriorityQueue unhandled -> i
-    java.util.NavigableSet freeRegisters -> j
-    java.util.Map liveAtEntrySets -> d
-    java.util.List liveIntervals -> f
-    java.util.List inactive -> h
-    java.util.List active -> g
-    java.util.Map lazyTypeInfoAtBlockEntry -> e
+    int maxArgumentRegisterNumber -> n
+    int nextUnusedRegisterNumber -> l
+    int maxRegisterNumber -> m
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.PriorityQueue unhandled -> j
+    com.android.tools.r8.ir.code.IRCode code -> c
+    com.android.tools.r8.cf.TypeVerificationHelper typeHelper -> d
+    java.util.NavigableSet freeRegisters -> k
+    java.util.List inactive -> i
+    java.util.List active -> h
+    java.util.List liveIntervals -> g
+    boolean $assertionsDisabled -> a
+    java.util.Map liveAtEntrySets -> e
+    java.util.Map lazyTypeInfoAtBlockEntry -> f
     1:1:void <clinit>():58:58 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.cf.TypeVerificationHelper):115:115 -> <init>
     2:28:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.cf.TypeVerificationHelper):92:118 -> <init>
@@ -2314,12 +2311,12 @@
     1:1:com.android.tools.r8.ir.code.Phi getPhi():30:30 -> h0
     1:1:java.lang.String toString():45:45 -> toString
 com.android.tools.r8.cf.LoadStoreHelper -> com.android.tools.r8.p.g:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map clonableConstants -> d
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.ir.code.IRCode code -> b
-    com.android.tools.r8.cf.TypeVerificationHelper typesHelper -> c
-    java.util.ListIterator blockIterator -> e
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.code.IRCode code -> c
+    boolean $assertionsDisabled -> a
+    java.util.Map clonableConstants -> e
+    com.android.tools.r8.cf.TypeVerificationHelper typesHelper -> d
+    java.util.ListIterator blockIterator -> f
     1:1:void <clinit>():32:32 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.cf.TypeVerificationHelper):41:41 -> <init>
     2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.cf.TypeVerificationHelper):38:44 -> <init>
@@ -2399,25 +2396,25 @@
     com.android.tools.r8.ir.code.Value operand -> b
     1:3:void <init>(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):236:238 -> <init>
 com.android.tools.r8.cf.TypeVerificationHelper -> com.android.tools.r8.p.m:
-    boolean computingVerificationTypes -> i
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.graph.AppView appView -> e
-    com.android.tools.r8.ir.code.IRCode code -> f
-    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo DOUBLE -> d
-    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo LONG -> c
-    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo FLOAT -> b
-    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo INT -> a
-    java.util.Map types -> g
-    java.util.Map newInstanceInfos -> h
+    boolean computingVerificationTypes -> j
+    com.android.tools.r8.ir.code.IRCode code -> g
+    com.android.tools.r8.graph.AppView appView -> f
+    java.util.Map newInstanceInfos -> i
+    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo DOUBLE -> e
+    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo LONG -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo FLOAT -> c
+    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo INT -> b
+    java.util.Map types -> h
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):115:115 -> <init>
     2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):110:123 -> <init>
     1:13:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):127:139 -> a
-    14:14:boolean com.android.tools.r8.graph.DexType.isByteType():203:203 -> a
+    14:14:boolean com.android.tools.r8.graph.DexType.isByteType():229:229 -> a
     14:14:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):140 -> a
-    15:15:boolean com.android.tools.r8.graph.DexType.isCharType():207:207 -> a
+    15:15:boolean com.android.tools.r8.graph.DexType.isCharType():233:233 -> a
     15:15:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):141 -> a
-    16:16:boolean com.android.tools.r8.graph.DexType.isShortType():211:211 -> a
+    16:16:boolean com.android.tools.r8.graph.DexType.isShortType():237:237 -> a
     16:16:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):142 -> a
     17:17:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):143:143 -> a
     18:23:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):139:144 -> a
@@ -2450,16 +2447,16 @@
     24:24:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):163:163 -> b
 com.android.tools.r8.cf.TypeVerificationHelper$1 -> com.android.tools.r8.p.h:
 com.android.tools.r8.cf.TypeVerificationHelper$InitializedTypeInfo -> com.android.tools.r8.p.i:
-    com.android.tools.r8.graph.DexType type -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexType type -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():41:41 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.TypeVerificationHelper$1):41:41 -> <init>
     2:4:void <init>(com.android.tools.r8.graph.DexType):44:46 -> <init>
     1:1:com.android.tools.r8.graph.DexType getDexType():51:51 -> a
     1:1:java.lang.String toString():56:56 -> toString
 com.android.tools.r8.cf.TypeVerificationHelper$NewInstanceInfo -> com.android.tools.r8.p.j:
-    com.android.tools.r8.ir.code.NewInstance newInstance -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.ir.code.NewInstance newInstance -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():60:60 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.code.NewInstance):63:65 -> <init>
     1:1:com.android.tools.r8.graph.DexType getDexType():70:70 -> a
@@ -2468,9 +2465,9 @@
     2:2:java.lang.String toString():75 -> toString
     3:3:java.lang.String toString():75:75 -> toString
 com.android.tools.r8.cf.TypeVerificationHelper$ThisInstanceInfo -> com.android.tools.r8.p.k:
-    com.android.tools.r8.ir.code.Argument thisArgument -> b
-    com.android.tools.r8.graph.DexType type -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexType type -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.Argument thisArgument -> c
     1:1:void <clinit>():79:79 -> <clinit>
     1:5:void <init>(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.DexType):83:87 -> <init>
     1:1:com.android.tools.r8.graph.DexType getDexType():92:92 -> a
@@ -2481,10 +2478,10 @@
 com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo -> com.android.tools.r8.p.l:
     com.android.tools.r8.graph.DexType getDexType() -> a
 com.android.tools.r8.cf.code.CfArithmeticBinop -> com.android.tools.r8.p.n.a:
-    com.android.tools.r8.ir.code.NumericType type -> b
-    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode opcode -> a
-    int $r8$clinit -> d
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.ir.code.NumericType type -> d
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
+    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode opcode -> c
     1:1:void <clinit>():21:21 -> <clinit>
     1:5:void <init>(com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode,com.android.tools.r8.ir.code.NumericType):34:38 -> <init>
     1:90:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():0:89 -> a
@@ -2529,8 +2526,8 @@
     89:89:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):40:40 -> a
     boolean canThrow() -> e
 com.android.tools.r8.cf.code.CfArrayLoad -> com.android.tools.r8.p.n.c:
-    boolean $assertionsDisabled -> b
-    com.android.tools.r8.ir.code.MemberType type -> a
+    com.android.tools.r8.ir.code.MemberType type -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():22:22 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.code.MemberType):26:28 -> <init>
     1:78:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayGet():0:77 -> a
@@ -2578,10 +2575,10 @@
     boolean canThrow() -> e
     1:1:com.android.tools.r8.graph.DexType getType():31:31 -> s
 com.android.tools.r8.cf.code.CfCmp -> com.android.tools.r8.p.n.f:
-    com.android.tools.r8.ir.code.Cmp$Bias bias -> a
-    com.android.tools.r8.ir.code.NumericType type -> b
-    int $r8$clinit -> d
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.ir.code.Cmp$Bias bias -> c
+    com.android.tools.r8.ir.code.NumericType type -> d
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
     1:1:void <clinit>():23:23 -> <clinit>
     1:8:void <init>(com.android.tools.r8.ir.code.Cmp$Bias,com.android.tools.r8.ir.code.NumericType):28:35 -> <init>
     1:90:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():0:89 -> a
@@ -2640,10 +2637,10 @@
     111:1277:void com.android.tools.r8.ir.conversion.IRBuilder.addNullConst(int):0:1166 -> a
     111:1277:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):33 -> a
 com.android.tools.r8.cf.code.CfConstNumber -> com.android.tools.r8.p.n.k:
-    com.android.tools.r8.ir.code.ValueType type -> b
-    long value -> a
-    int $r8$clinit -> d
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.ir.code.ValueType type -> d
+    long value -> c
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
     1:1:void <clinit>():20:20 -> <clinit>
     1:3:void <init>(long,com.android.tools.r8.ir.code.ValueType):25:27 -> <init>
     1:107:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstInstruction():0:106 -> a
@@ -2694,9 +2691,9 @@
     boolean isConstString() -> i
     1:1:com.android.tools.r8.graph.DexString getString():27:27 -> s
 com.android.tools.r8.cf.code.CfDexItemBasedConstString -> com.android.tools.r8.p.n.m:
-    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> b
-    com.android.tools.r8.graph.DexReference item -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexReference item -> b
     1:1:void <clinit>():22:22 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):27:29 -> <init>
     1:95:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDexItemBasedConstString(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexProgramClass):0:94 -> a
@@ -2711,10 +2708,10 @@
     1:1:com.android.tools.r8.graph.DexReference getItem():33:33 -> s
     1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():37:37 -> t
 com.android.tools.r8.cf.code.CfFieldInstruction -> com.android.tools.r8.p.n.n:
-    com.android.tools.r8.graph.DexField field -> b
-    com.android.tools.r8.graph.DexField declaringField -> c
-    boolean $assertionsDisabled -> d
-    int opcode -> a
+    com.android.tools.r8.graph.DexField declaringField -> d
+    com.android.tools.r8.graph.DexField field -> c
+    boolean $assertionsDisabled -> a
+    int opcode -> b
     1:1:void <clinit>():24:24 -> <clinit>
     1:5:void <init>(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):30:34 -> <init>
     1:4:void write(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):57:60 -> a
@@ -2739,9 +2736,9 @@
     1:1:com.android.tools.r8.graph.DexField getField():38:38 -> s
     1:1:int getOpcode():42:42 -> t
 com.android.tools.r8.cf.code.CfFrame -> com.android.tools.r8.p.n.p:
-    java.util.List stack -> b
-    boolean $assertionsDisabled -> c
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap locals -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap locals -> b
+    java.util.List stack -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():26:26 -> <clinit>
     1:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.List):210:214 -> <init>
     1:1:int computeStackCount():235:235 -> a
@@ -2778,8 +2775,8 @@
     1:1:com.android.tools.r8.cf.code.CfFrame$FrameType top():43:43 -> h
     1:1:com.android.tools.r8.cf.code.CfFrame$FrameType uninitializedThis():39:39 -> i
 com.android.tools.r8.cf.code.CfFrame$InitializedType -> com.android.tools.r8.p.n.q:
-    com.android.tools.r8.graph.DexType type -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexType type -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():89:89 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfFrame$1):89:89 -> <init>
     2:4:void <init>(com.android.tools.r8.graph.DexType):93:95 -> <init>
@@ -2922,10 +2919,10 @@
     boolean isStore() -> r
     1:3:java.lang.String toString():29:31 -> toString
 com.android.tools.r8.cf.code.CfInvoke -> com.android.tools.r8.p.n.B:
-    int opcode -> b
-    com.android.tools.r8.graph.DexMethod method -> a
-    boolean itf -> c
-    boolean $assertionsDisabled -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexMethod method -> b
+    int opcode -> c
+    boolean itf -> d
     1:1:void <clinit>():36:36 -> <clinit>
     1:7:void <init>(int,com.android.tools.r8.graph.DexMethod,boolean):42:48 -> <init>
     1:4:void write(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):75:78 -> a
@@ -2956,7 +2953,7 @@
     240:303:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.DexProgramClass):205:268 -> a
     304:334:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.DexProgramClass):214:244 -> a
     335:369:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.DexProgramClass):219:253 -> a
-    370:370:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    370:370:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     370:370:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.DexProgramClass):254 -> a
     371:387:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.DexProgramClass):255:271 -> a
     388:388:boolean noNeedToUseGraphLense(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLense):276:276 -> a
@@ -3035,10 +3032,10 @@
     1:1:int getLocalIndex():73:73 -> s
     1:1:com.android.tools.r8.ir.code.ValueType getType():69:69 -> t
 com.android.tools.r8.cf.code.CfLogicalBinop -> com.android.tools.r8.p.n.G:
-    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode opcode -> a
-    com.android.tools.r8.ir.code.NumericType type -> b
-    int $r8$clinit -> d
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.ir.code.NumericType type -> d
+    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode opcode -> c
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
     1:1:void <clinit>():21:21 -> <clinit>
     1:6:void <init>(com.android.tools.r8.cf.code.CfLogicalBinop$Opcode,com.android.tools.r8.ir.code.NumericType):35:40 -> <init>
     1:90:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():0:89 -> a
@@ -3083,9 +3080,9 @@
     boolean canThrow() -> e
     1:1:com.android.tools.r8.ir.code.Monitor$Type getType():29:29 -> s
 com.android.tools.r8.cf.code.CfMultiANewArray -> com.android.tools.r8.p.n.I:
-    com.android.tools.r8.graph.DexType type -> a
-    int dimensions -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexType type -> b
+    boolean $assertionsDisabled -> a
+    int dimensions -> c
     1:1:void <clinit>():21:21 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexType,int):26:28 -> <init>
     1:1:void write(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):41:41 -> a
@@ -3120,8 +3117,8 @@
     boolean canThrow() -> e
     1:1:com.android.tools.r8.graph.DexType getType():30:30 -> s
 com.android.tools.r8.cf.code.CfNewArray -> com.android.tools.r8.p.n.L:
-    com.android.tools.r8.graph.DexType type -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexType type -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():24:24 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexType):28:30 -> <init>
     1:1:void write(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):70:70 -> a
@@ -3145,10 +3142,10 @@
     4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.DexProgramClass):43:43 -> a
     boolean emitsIR() -> f
 com.android.tools.r8.cf.code.CfNumberConversion -> com.android.tools.r8.p.n.N:
-    com.android.tools.r8.ir.code.NumericType to -> b
-    com.android.tools.r8.ir.code.NumericType from -> a
-    int $r8$clinit -> d
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.ir.code.NumericType to -> d
+    com.android.tools.r8.ir.code.NumericType from -> c
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
     1:1:void <clinit>():21:21 -> <clinit>
     1:7:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType):26:32 -> <init>
     1:319:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forUnop():0:318 -> a
@@ -3196,8 +3193,8 @@
     boolean isJump() -> n
     boolean isReturn() -> q
 com.android.tools.r8.cf.code.CfStackInstruction -> com.android.tools.r8.p.n.S:
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode opcode -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode opcode -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():22:22 -> <clinit>
     1:2:void <init>(com.android.tools.r8.cf.code.CfStackInstruction$Opcode):73:74 -> <init>
     1:1:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):65:65 -> a
@@ -3313,17 +3310,17 @@
     boolean emitsIR() -> f
     1:1:com.android.tools.r8.cf.code.CfStackInstruction$Opcode getOpcode():88:88 -> s
 com.android.tools.r8.cf.code.CfStackInstruction$Opcode -> com.android.tools.r8.p.n.S$a:
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Swap -> j
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode[] $VALUES -> k
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2X2 -> i
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2X1 -> h
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2 -> g
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode DupX2 -> f
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode DupX1 -> e
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup -> d
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Pop2 -> c
-    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Pop -> b
-    int opcode -> a
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Swap -> i
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2X2 -> h
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2X1 -> g
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode[] $VALUES -> j
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2 -> f
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode DupX2 -> e
+    int opcode -> k
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode DupX1 -> d
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup -> c
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Pop2 -> b
+    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Pop -> a
     1:9:void <clinit>():25:33 -> <clinit>
     10:10:void <clinit>():24:24 -> <clinit>
     1:2:void <init>(java.lang.String,int,int):37:38 -> <init>
@@ -3346,11 +3343,11 @@
     1:1:int getLocalIndex():73:73 -> s
     1:1:com.android.tools.r8.ir.code.ValueType getType():69:69 -> t
 com.android.tools.r8.cf.code.CfSwitch -> com.android.tools.r8.p.n.U:
-    com.android.tools.r8.cf.code.CfLabel defaultTarget -> b
-    int[] keys -> c
-    java.util.List targets -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.cf.code.CfSwitch$Kind kind -> a
+    java.util.List targets -> e
+    int[] keys -> d
+    com.android.tools.r8.cf.code.CfSwitch$Kind kind -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.cf.code.CfLabel defaultTarget -> c
     1:1:void <clinit>():22:22 -> <clinit>
     1:7:void <init>(com.android.tools.r8.cf.code.CfSwitch$Kind,com.android.tools.r8.cf.code.CfLabel,int[],java.util.List):31:37 -> <init>
     1:253:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():0:252 -> a
@@ -3382,12 +3379,12 @@
     boolean canThrow() -> e
     boolean isJump() -> n
 com.android.tools.r8.cf.code.CfTryCatch -> com.android.tools.r8.p.n.W:
-    com.android.tools.r8.cf.code.CfLabel start -> a
-    com.android.tools.r8.cf.code.CfLabel end -> b
-    java.util.List targets -> d
-    java.util.List guards -> c
-    boolean $assertionsDisabled -> e
-    int $r8$clinit -> f
+    java.util.List targets -> f
+    java.util.List guards -> e
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
+    com.android.tools.r8.cf.code.CfLabel start -> c
+    com.android.tools.r8.cf.code.CfLabel end -> d
     1:1:void <clinit>():13:13 -> <clinit>
     1:6:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,java.util.List,java.util.List):19:24 -> <init>
     1:2:boolean verifyAllNonNull(java.util.List):28:29 -> a
@@ -3991,9 +3988,9 @@
     java.lang.String getSmaliName() -> o
     boolean isConstStringJumbo() -> u
 com.android.tools.r8.code.ConstWide -> com.android.tools.r8.code.e0:
-    short com.android.tools.r8.code.Format51l.AA -> e
-    long com.android.tools.r8.code.Format51l.BBBBBBBBBBBBBBBB -> f
-    boolean com.android.tools.r8.code.Format51l.$assertionsDisabled -> g
+    short com.android.tools.r8.code.Format51l.AA -> f
+    long com.android.tools.r8.code.Format51l.BBBBBBBBBBBBBBBB -> g
+    boolean com.android.tools.r8.code.Format51l.$assertionsDisabled -> e
     1:1:void com.android.tools.r8.code.Format51l.<clinit>():13:13 -> <clinit>
     1:2:void com.android.tools.r8.code.Format51l.<init>(int,com.android.tools.r8.code.BytecodeStream):20:21 -> <init>
     1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):19 -> <init>
@@ -4067,9 +4064,9 @@
     int getOpcode() -> l
     java.lang.String getSmaliName() -> o
 com.android.tools.r8.code.DexInitClass -> com.android.tools.r8.code.g0:
-    boolean $assertionsDisabled -> g
-    int dest -> e
-    com.android.tools.r8.graph.DexType clazz -> f
+    boolean $assertionsDisabled -> e
+    int dest -> f
+    com.android.tools.r8.graph.DexType clazz -> g
     1:1:void <clinit>():19:19 -> <clinit>
     1:4:void <init>(int,com.android.tools.r8.graph.DexType):28:31 -> <init>
     1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):36:36 -> a
@@ -4090,8 +4087,8 @@
     1:1:int getOpcode():63:63 -> l
     java.lang.String getSmaliName() -> o
 com.android.tools.r8.code.DexItemBasedConstString -> com.android.tools.r8.code.h0:
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> h
+    boolean $assertionsDisabled -> h
+    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> i
     1:1:void <clinit>():15:15 -> <clinit>
     1:2:void <init>(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):24:25 -> <init>
     1:1:com.android.tools.r8.graph.DexReference getItem():29:29 -> B
@@ -4276,10 +4273,10 @@
     int getOpcode() -> l
     java.lang.String getSmaliName() -> o
 com.android.tools.r8.code.FillArrayDataPayload -> com.android.tools.r8.code.w0:
-    short[] data -> h
-    boolean $assertionsDisabled -> i
-    long size -> g
-    int element_width -> f
+    short[] data -> i
+    long size -> h
+    boolean $assertionsDisabled -> f
+    int element_width -> g
     1:1:void <clinit>():13:13 -> <clinit>
     1:10:void <init>(int,com.android.tools.r8.code.BytecodeStream):20:29 -> <init>
     11:14:void <init>(int,long,short[]):33:36 -> <init>
@@ -4361,9 +4358,9 @@
     2:2:void <init>():20:20 -> <init>
     1:1:boolean equals(java.lang.Object):35:35 -> equals
 com.android.tools.r8.code.Format11n -> com.android.tools.r8.code.D0:
-    boolean $assertionsDisabled -> g
-    byte B -> f
-    byte A -> e
+    boolean $assertionsDisabled -> e
+    byte A -> f
+    byte B -> g
     1:1:void <clinit>():13:13 -> <clinit>
     1:8:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:26 -> <init>
     9:13:void <init>(int,int):30:34 -> <init>
@@ -4373,8 +4370,8 @@
     1:5:boolean equals(java.lang.Object):49:53 -> equals
     1:1:int hashCode():44:44 -> hashCode
 com.android.tools.r8.code.Format11x -> com.android.tools.r8.code.E0:
-    short AA -> e
-    boolean $assertionsDisabled -> f
+    short AA -> f
+    boolean $assertionsDisabled -> e
     1:1:void <clinit>():13:13 -> <clinit>
     1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:20 -> <init>
     3:5:void <init>(int):23:25 -> <init>
@@ -4383,9 +4380,9 @@
     1:4:boolean equals(java.lang.Object):40:43 -> equals
     1:1:int hashCode():35:35 -> hashCode
 com.android.tools.r8.code.Format12x -> com.android.tools.r8.code.F0:
-    boolean $assertionsDisabled -> g
-    byte B -> f
-    byte A -> e
+    boolean $assertionsDisabled -> e
+    byte A -> f
+    byte B -> g
     1:1:void <clinit>():13:13 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:21 -> <init>
     4:8:void <init>(int,int):24:28 -> <init>
@@ -4396,9 +4393,9 @@
     1:5:boolean equals(java.lang.Object):43:47 -> equals
     1:1:int hashCode():38:38 -> hashCode
 com.android.tools.r8.code.Format21c -> com.android.tools.r8.code.G0:
-    short AA -> e
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.graph.IndexedDexItem BBBB -> f
+    short AA -> f
+    boolean $assertionsDisabled -> e
+    com.android.tools.r8.graph.IndexedDexItem BBBB -> g
     1:1:void <clinit>():15:15 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.IndexedDexItem[]):22:24 -> <init>
     4:7:void <init>(int,com.android.tools.r8.graph.IndexedDexItem):27:30 -> <init>
@@ -4409,18 +4406,18 @@
     1:5:boolean equals(java.lang.Object):46:50 -> equals
     1:1:int hashCode():41:41 -> hashCode
 com.android.tools.r8.code.Format21h -> com.android.tools.r8.code.H0:
-    short AA -> e
-    boolean $assertionsDisabled -> g
-    char BBBB -> f
+    char BBBB -> g
+    short AA -> f
+    boolean $assertionsDisabled -> e
     1:1:void <clinit>():12:12 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:21 -> <init>
     4:8:void <init>(int,int):24:28 -> <init>
     1:5:boolean equals(java.lang.Object):44:48 -> equals
     1:1:int hashCode():39:39 -> hashCode
 com.android.tools.r8.code.Format21s -> com.android.tools.r8.code.I0:
-    short AA -> e
-    short BBBB -> f
-    boolean $assertionsDisabled -> g
+    short BBBB -> g
+    short AA -> f
+    boolean $assertionsDisabled -> e
     1:1:void <clinit>():14:14 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):21:23 -> <init>
     4:8:void <init>(int,int):26:30 -> <init>
@@ -4433,9 +4430,9 @@
     1:5:boolean equals(java.lang.Object):46:50 -> equals
     1:1:int hashCode():41:41 -> hashCode
 com.android.tools.r8.code.Format21t -> com.android.tools.r8.code.J0:
-    short AA -> e
-    short BBBB -> f
-    boolean $assertionsDisabled -> g
+    short BBBB -> g
+    short AA -> f
+    boolean $assertionsDisabled -> e
     1:1:void <clinit>():16:16 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):23:25 -> <init>
     4:8:void <init>(int,int):28:32 -> <init>
@@ -4452,10 +4449,10 @@
     1:1:int hashCode():43:43 -> hashCode
     1:1:int[] getTargets():61:61 -> p
 com.android.tools.r8.code.Format22b -> com.android.tools.r8.code.K0:
-    short AA -> e
-    short BB -> f
-    boolean $assertionsDisabled -> h
-    byte CC -> g
+    short BB -> g
+    short AA -> f
+    boolean $assertionsDisabled -> e
+    byte CC -> h
     1:1:void <clinit>():14:14 -> <clinit>
     1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):22:25 -> <init>
     5:11:void <init>(int,int,int):28:34 -> <init>
@@ -4468,10 +4465,10 @@
     1:5:boolean equals(java.lang.Object):50:54 -> equals
     1:1:int hashCode():45:45 -> hashCode
 com.android.tools.r8.code.Format22c -> com.android.tools.r8.code.L0:
-    com.android.tools.r8.graph.IndexedDexItem CCCC -> g
-    boolean $assertionsDisabled -> h
-    byte B -> f
-    byte A -> e
+    boolean $assertionsDisabled -> e
+    com.android.tools.r8.graph.IndexedDexItem CCCC -> h
+    byte A -> f
+    byte B -> g
     1:1:void <clinit>():15:15 -> <clinit>
     1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.IndexedDexItem[]):23:26 -> <init>
     5:10:void <init>(int,int,com.android.tools.r8.graph.IndexedDexItem):29:34 -> <init>
@@ -4482,10 +4479,10 @@
     1:5:boolean equals(java.lang.Object):50:54 -> equals
     1:1:int hashCode():45:45 -> hashCode
 com.android.tools.r8.code.Format22s -> com.android.tools.r8.code.M0:
-    short CCCC -> g
-    boolean $assertionsDisabled -> h
-    byte B -> f
-    byte A -> e
+    short CCCC -> h
+    boolean $assertionsDisabled -> e
+    byte A -> f
+    byte B -> g
     1:1:void <clinit>():14:14 -> <clinit>
     1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):22:25 -> <init>
     5:11:void <init>(int,int,int):28:34 -> <init>
@@ -4498,10 +4495,10 @@
     1:5:boolean equals(java.lang.Object):50:54 -> equals
     1:1:int hashCode():45:45 -> hashCode
 com.android.tools.r8.code.Format22t -> com.android.tools.r8.code.N0:
-    short CCCC -> g
-    boolean $assertionsDisabled -> h
-    byte B -> f
-    byte A -> e
+    short CCCC -> h
+    boolean $assertionsDisabled -> e
+    byte A -> f
+    byte B -> g
     1:1:void <clinit>():16:16 -> <clinit>
     1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):24:27 -> <init>
     5:11:void <init>(int,int,int):30:36 -> <init>
@@ -4518,9 +4515,9 @@
     1:1:int hashCode():47:47 -> hashCode
     1:1:int[] getTargets():65:65 -> p
 com.android.tools.r8.code.Format22x -> com.android.tools.r8.code.O0:
-    short AA -> e
-    boolean $assertionsDisabled -> g
-    char BBBB -> f
+    char BBBB -> g
+    short AA -> f
+    boolean $assertionsDisabled -> e
     1:1:void <clinit>():13:13 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):20:22 -> <init>
     4:8:void <init>(int,int):25:29 -> <init>
@@ -4529,10 +4526,10 @@
     1:5:boolean equals(java.lang.Object):45:49 -> equals
     1:1:int hashCode():40:40 -> hashCode
 com.android.tools.r8.code.Format23x -> com.android.tools.r8.code.P0:
-    short CC -> g
-    short AA -> e
-    short BB -> f
-    boolean $assertionsDisabled -> h
+    short BB -> g
+    short CC -> h
+    short AA -> f
+    boolean $assertionsDisabled -> e
     1:1:void <clinit>():13:13 -> <clinit>
     1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):21:24 -> <init>
     5:11:void <init>(int,int,int):27:33 -> <init>
@@ -4557,9 +4554,9 @@
     1:4:boolean equals(java.lang.Object):39:42 -> equals
     1:1:int hashCode():34:34 -> hashCode
 com.android.tools.r8.code.Format31c -> com.android.tools.r8.code.R0:
-    short AA -> e
-    com.android.tools.r8.graph.DexString BBBBBBBB -> f
-    boolean $assertionsDisabled -> g
+    short AA -> f
+    com.android.tools.r8.graph.DexString BBBBBBBB -> g
+    boolean $assertionsDisabled -> e
     1:1:void <clinit>():17:17 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexString[]):24:26 -> <init>
     4:7:void <init>(int,com.android.tools.r8.graph.DexString):29:32 -> <init>
@@ -4573,18 +4570,18 @@
     1:5:boolean equals(java.lang.Object):48:52 -> equals
     1:1:int hashCode():43:43 -> hashCode
 com.android.tools.r8.code.Format31i -> com.android.tools.r8.code.S0:
-    short AA -> e
-    int BBBBBBBB -> f
-    boolean $assertionsDisabled -> g
+    short AA -> f
+    boolean $assertionsDisabled -> e
+    int BBBBBBBB -> g
     1:1:void <clinit>():13:13 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):20:22 -> <init>
     4:7:void <init>(int,int):25:28 -> <init>
     1:5:boolean equals(java.lang.Object):44:48 -> equals
     1:1:int hashCode():39:39 -> hashCode
 com.android.tools.r8.code.Format31t -> com.android.tools.r8.code.T0:
-    short AA -> e
-    int BBBBBBBB -> f
-    boolean $assertionsDisabled -> g
+    short AA -> f
+    boolean $assertionsDisabled -> e
+    int BBBBBBBB -> g
     1:1:void <clinit>():13:13 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):20:22 -> <init>
     4:7:void <init>(int,int):25:28 -> <init>
@@ -4597,9 +4594,9 @@
     1:1:int getPayloadOffset():45:45 -> m
     boolean hasPayload() -> q
 com.android.tools.r8.code.Format32x -> com.android.tools.r8.code.U0:
-    int BBBB -> f
-    boolean $assertionsDisabled -> g
-    int AAAA -> e
+    boolean $assertionsDisabled -> e
+    int AAAA -> f
+    int BBBB -> g
     1:1:void <clinit>():14:14 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):21:23 -> <init>
     4:8:void <init>(int,int):26:30 -> <init>
@@ -4614,14 +4611,14 @@
     1:5:boolean equals(java.lang.Object):47:51 -> equals
     1:1:int hashCode():42:42 -> hashCode
 com.android.tools.r8.code.Format35c -> com.android.tools.r8.code.V0:
-    byte G -> j
-    byte F -> i
-    com.android.tools.r8.graph.IndexedDexItem BBBB -> k
-    boolean $assertionsDisabled -> l
-    byte C -> f
-    byte A -> e
-    byte E -> h
-    byte D -> g
+    byte F -> j
+    byte E -> i
+    byte G -> k
+    com.android.tools.r8.graph.IndexedDexItem BBBB -> l
+    boolean $assertionsDisabled -> e
+    byte A -> f
+    byte D -> h
+    byte C -> g
     1:1:void <clinit>():15:15 -> <clinit>
     1:10:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.IndexedDexItem[]):27:36 -> <init>
     11:24:void <init>(int,com.android.tools.r8.graph.IndexedDexItem,int,int,int,int,int):39:52 -> <init>
@@ -4635,10 +4632,10 @@
     1:6:boolean equals(java.lang.Object):70:75 -> equals
     1:2:int hashCode():64:65 -> hashCode
 com.android.tools.r8.code.Format3rc -> com.android.tools.r8.code.W0:
-    short AA -> e
-    com.android.tools.r8.graph.IndexedDexItem BBBB -> g
-    boolean $assertionsDisabled -> h
-    char CCCC -> f
+    char CCCC -> g
+    short AA -> f
+    boolean $assertionsDisabled -> e
+    com.android.tools.r8.graph.IndexedDexItem BBBB -> h
     1:1:void <clinit>():15:15 -> <clinit>
     1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.IndexedDexItem[]):23:26 -> <init>
     5:10:void <init>(int,int,com.android.tools.r8.graph.IndexedDexItem):29:34 -> <init>
@@ -4652,8 +4649,8 @@
     1:5:boolean equals(java.lang.Object):51:55 -> equals
     1:1:int hashCode():46:46 -> hashCode
 com.android.tools.r8.code.Goto -> com.android.tools.r8.code.Z0:
-    boolean com.android.tools.r8.code.Format10t.$assertionsDisabled -> f
-    byte com.android.tools.r8.code.Format10t.AA -> e
+    boolean com.android.tools.r8.code.Format10t.$assertionsDisabled -> e
+    byte com.android.tools.r8.code.Format10t.AA -> f
     1:1:void com.android.tools.r8.code.Format10t.<clinit>():12:12 -> <clinit>
     1:3:void com.android.tools.r8.code.Format10t.<init>(int,com.android.tools.r8.code.BytecodeStream):18:20 -> <init>
     1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):15 -> <init>
@@ -4676,8 +4673,8 @@
     java.lang.String getSmaliName() -> o
     1:1:int[] getTargets():39:39 -> p
 com.android.tools.r8.code.Goto16 -> com.android.tools.r8.code.X0:
-    short com.android.tools.r8.code.Format20t.AAAA -> e
-    boolean com.android.tools.r8.code.Format20t.$assertionsDisabled -> f
+    short com.android.tools.r8.code.Format20t.AAAA -> f
+    boolean com.android.tools.r8.code.Format20t.$assertionsDisabled -> e
     1:1:void com.android.tools.r8.code.Format20t.<clinit>():12:12 -> <clinit>
     1:2:void com.android.tools.r8.code.Format20t.<init>(int,com.android.tools.r8.code.BytecodeStream):18:19 -> <init>
     1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):15 -> <init>
@@ -4898,10 +4895,10 @@
     int getOpcode() -> l
     java.lang.String getSmaliName() -> o
 com.android.tools.r8.code.Instruction -> com.android.tools.r8.code.u1:
-    int[] EXIT_TARGET -> c
-    com.android.tools.r8.code.Instruction[] EMPTY_ARRAY -> b
-    boolean $assertionsDisabled -> d
-    int offset -> a
+    int[] EXIT_TARGET -> b
+    int offset -> d
+    com.android.tools.r8.code.Instruction[] EMPTY_ARRAY -> a
+    boolean $assertionsDisabled -> c
     1:5:void <clinit>():21:25 -> <clinit>
     1:3:void <init>(com.android.tools.r8.code.BytecodeStream):29:31 -> <init>
     4:5:void <init>():34:35 -> <init>
@@ -5655,13 +5652,13 @@
     797:797:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
     798:800:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):27:29 -> a
 com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream -> com.android.tools.r8.code.v1$a:
-    boolean cacheContainsValidByte -> f
-    boolean $assertionsDisabled -> g
-    int offset -> d
-    int nextByte -> e
-    int startIndex -> b
-    java.nio.ShortBuffer source -> c
-    int length -> a
+    int nextByte -> f
+    boolean cacheContainsValidByte -> g
+    int offset -> e
+    boolean $assertionsDisabled -> a
+    int length -> b
+    int startIndex -> c
+    java.nio.ShortBuffer source -> d
     1:1:void <clinit>():32:32 -> <clinit>
     1:1:void <init>(java.nio.ShortBuffer,int,int):42:42 -> <init>
     2:9:void <init>(java.nio.ShortBuffer,int,int):38:45 -> <init>
@@ -5810,24 +5807,24 @@
     int getOpcode() -> l
     java.lang.String getSmaliName() -> o
 com.android.tools.r8.code.InvokePolymorphic -> com.android.tools.r8.code.I1:
-    boolean com.android.tools.r8.code.Format45cc.$assertionsDisabled -> m
-    byte com.android.tools.r8.code.Format45cc.G -> j
-    byte com.android.tools.r8.code.Format45cc.F -> i
-    com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.BBBB -> k
-    byte com.android.tools.r8.code.Format45cc.C -> f
-    byte com.android.tools.r8.code.Format45cc.A -> e
-    com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.HHHH -> l
-    byte com.android.tools.r8.code.Format45cc.E -> h
-    byte com.android.tools.r8.code.Format45cc.D -> g
+    byte com.android.tools.r8.code.Format45cc.F -> j
+    byte com.android.tools.r8.code.Format45cc.E -> i
+    byte com.android.tools.r8.code.Format45cc.G -> k
+    com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.BBBB -> l
+    boolean com.android.tools.r8.code.Format45cc.$assertionsDisabled -> e
+    byte com.android.tools.r8.code.Format45cc.A -> f
+    byte com.android.tools.r8.code.Format45cc.D -> h
+    com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.HHHH -> m
+    byte com.android.tools.r8.code.Format45cc.C -> g
     1:1:void com.android.tools.r8.code.Format45cc.<clinit>():17:17 -> <clinit>
     1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23:23 -> <init>
     2:12:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):29:39 -> <init>
     2:12:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23 -> <init>
     13:27:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,int,int,int,int,int):43:57 -> <init>
     13:27:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,int,int,int,int,int):28 -> <init>
-    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():151:151 -> B
     1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):33:33 -> a
-    2:2:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():0:0 -> a
+    2:2:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():151:151 -> a
+    2:2:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():0 -> a
     2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):34 -> a
     3:3:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.getProto():156:156 -> a
     3:3:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.getProto():0 -> a
@@ -5836,16 +5833,16 @@
     5:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):33:33 -> a
     6:6:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):92:92 -> a
     6:6:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0 -> a
-    7:7:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):60:60 -> a
+    7:7:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):93:93 -> a
     7:7:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):92 -> a
     7:7:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0 -> a
-    8:8:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):77:77 -> a
-    8:8:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):61 -> a
+    8:8:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):110:110 -> a
+    8:8:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):94 -> a
     8:8:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):92 -> a
     8:8:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0 -> a
     9:254:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> a
-    9:254:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):77 -> a
-    9:254:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):61 -> a
+    9:254:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):110 -> a
+    9:254:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):94 -> a
     9:254:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):92 -> a
     9:254:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0 -> a
     255:255:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):93:93 -> a
@@ -5868,16 +5865,17 @@
     boolean canThrow() -> g
     1:9:int com.android.tools.r8.code.Format45cc.hashCode():62:70 -> hashCode
     1:9:int com.android.tools.r8.code.Format45cc.hashCode():0 -> hashCode
-    com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod() -> i
+    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():151:151 -> i
+    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():0 -> i
     java.lang.String getName() -> j
     int getOpcode() -> l
     java.lang.String getSmaliName() -> o
 com.android.tools.r8.code.InvokePolymorphicRange -> com.android.tools.r8.code.J1:
-    com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.HHHH -> h
-    short com.android.tools.r8.code.Format4rcc.AA -> e
-    boolean com.android.tools.r8.code.Format4rcc.$assertionsDisabled -> i
-    com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format4rcc.BBBB -> g
-    char com.android.tools.r8.code.Format4rcc.CCCC -> f
+    char com.android.tools.r8.code.Format4rcc.CCCC -> g
+    com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.HHHH -> i
+    short com.android.tools.r8.code.Format4rcc.AA -> f
+    com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format4rcc.BBBB -> h
+    boolean com.android.tools.r8.code.Format4rcc.$assertionsDisabled -> e
     1:1:void com.android.tools.r8.code.Format4rcc.<clinit>():17:17 -> <clinit>
     1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):21:21 -> <init>
     2:6:void com.android.tools.r8.code.Format4rcc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):26:30 -> <init>
@@ -5905,16 +5903,16 @@
     12:19:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
     20:20:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):98:98 -> a
     20:20:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0 -> a
-    21:21:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):60:60 -> a
+    21:21:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):93:93 -> a
     21:21:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):98 -> a
     21:21:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0 -> a
-    22:22:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):77:77 -> a
-    22:22:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):61 -> a
+    22:22:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):110:110 -> a
+    22:22:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):94 -> a
     22:22:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):98 -> a
     22:22:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0 -> a
     23:268:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> a
-    23:268:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):77 -> a
-    23:268:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):61 -> a
+    23:268:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):110 -> a
+    23:268:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):94 -> a
     23:268:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):98 -> a
     23:268:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0 -> a
     269:269:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):99:99 -> a
@@ -6600,10 +6598,10 @@
     java.lang.String getSmaliName() -> o
     boolean isIntSwitch() -> w
 com.android.tools.r8.code.PackedSwitchPayload -> com.android.tools.r8.code.P2:
-    int[] targets -> h
-    boolean $assertionsDisabled -> i
-    int size -> f
-    int first_key -> g
+    int[] targets -> i
+    int first_key -> h
+    boolean $assertionsDisabled -> f
+    int size -> g
     1:1:void <clinit>():12:12 -> <clinit>
     1:6:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:24 -> <init>
     7:11:void <init>(int,int[]):28:32 -> <init>
@@ -7045,10 +7043,10 @@
     java.lang.String getSmaliName() -> o
     boolean isIntSwitch() -> w
 com.android.tools.r8.code.SparseSwitchPayload -> com.android.tools.r8.code.y3:
-    int[] keys -> g
-    int[] targets -> h
-    boolean $assertionsDisabled -> i
-    int size -> f
+    int[] keys -> h
+    int[] targets -> i
+    boolean $assertionsDisabled -> f
+    int size -> g
     1:1:void <clinit>():12:12 -> <clinit>
     1:10:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:28 -> <init>
     11:15:void <init>(int[],int[]):32:36 -> <init>
@@ -7843,8 +7841,8 @@
     1:2:boolean hasNext():132:133 -> hasNext
     3:6:boolean tryToComputeNext():144:147 -> hasNext
     3:6:boolean hasNext():140 -> hasNext
-    java.lang.Object computeNext() -> k
-    1:1:java.lang.Object endOfData():125:125 -> l
+    java.lang.Object computeNext() -> l
+    1:1:java.lang.Object endOfData():125:125 -> m
     1:6:java.lang.Object next():156:161 -> next
     7:7:java.lang.Object next():157:157 -> next
 com.android.tools.r8.com.google.common.collect.AbstractIterator$State -> com.android.tools.r8.q.a.a.b.b:
@@ -8161,7 +8159,7 @@
     6:6:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection,java.util.Iterator):472:472 -> <init>
     7:14:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection,java.util.Iterator):466:473 -> <init>
     1:2:boolean hasNext():489:490 -> hasNext
-    1:3:void validateIterator():481:483 -> k
+    1:3:void validateIterator():481:483 -> l
     1:2:java.lang.Object next():495:496 -> next
     1:3:void remove():501:503 -> remove
 com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList -> com.android.tools.r8.q.a.a.b.f$j:
@@ -8247,9 +8245,9 @@
     2:3:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList,int):874:875 -> <init>
     1:5:void add(java.lang.Object):909:913 -> add
     1:1:boolean hasPrevious():884:884 -> hasPrevious
-    1:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():507:508 -> l
-    1:2:java.util.ListIterator getDelegateListIterator():879 -> l
-    3:3:java.util.ListIterator getDelegateListIterator():879:879 -> l
+    1:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():507:508 -> m
+    1:2:java.util.ListIterator getDelegateListIterator():879 -> m
+    3:3:java.util.ListIterator getDelegateListIterator():879:879 -> m
     1:1:int nextIndex():894:894 -> nextIndex
     1:1:java.lang.Object previous():889:889 -> previous
     1:1:int previousIndex():899:899 -> previousIndex
@@ -8596,116 +8594,114 @@
     74:74:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
     74:74:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.flatMap(java.util.Spliterator,java.util.function.Function,int,long):208 -> a
     75:75:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.flatMap(java.util.Spliterator,java.util.function.Function,int,long):287:287 -> a
-    76:76:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[]):219:219 -> a
-    77:77:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[],int):225:225 -> a
-    77:77:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[]):219 -> a
-    78:78:java.lang.Object com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementNotNull(java.lang.Object,int):235:235 -> a
-    79:79:int com.android.tools.r8.com.google.common.collect.Maps.capacity(int):309:309 -> a
-    80:80:boolean com.android.tools.r8.com.google.common.collect.Iterables.addAll(java.util.Collection,java.lang.Iterable):331:331 -> a
-    81:81:java.util.Collection cast(java.lang.Iterable):377:377 -> a
-    81:81:boolean com.android.tools.r8.com.google.common.collect.Iterables.addAll(java.util.Collection,java.lang.Iterable):332 -> a
-    82:82:boolean com.android.tools.r8.com.google.common.collect.Iterables.addAll(java.util.Collection,java.lang.Iterable):333:333 -> a
-    83:83:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    83:83:boolean com.android.tools.r8.com.google.common.collect.Iterables.addAll(java.util.Collection,java.lang.Iterable):335 -> a
-    84:84:boolean com.android.tools.r8.com.google.common.collect.Iterables.addAll(java.util.Collection,java.lang.Iterable):335:335 -> a
-    85:85:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> a
-    86:86:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):627:627 -> a
-    87:90:int com.android.tools.r8.com.google.common.collect.Iterators.indexOf(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):796:799 -> a
-    87:90:boolean com.android.tools.r8.com.google.common.collect.Iterators.any(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):688 -> a
-    87:90:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):627 -> a
-    91:91:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):669:669 -> a
-    92:92:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    92:92:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.find(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):743 -> a
-    92:92:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):669 -> a
-    93:93:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    93:93:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.find(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):744 -> a
-    93:93:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):669 -> a
-    94:96:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.find(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):745:747 -> a
-    94:96:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):669 -> a
-    97:97:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    97:97:boolean com.android.tools.r8.com.google.common.collect.Iterators.addAll(java.util.Collection,java.util.Iterator):369 -> a
-    98:98:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    98:98:boolean com.android.tools.r8.com.google.common.collect.Iterators.addAll(java.util.Collection,java.util.Iterator):370 -> a
-    99:100:boolean com.android.tools.r8.com.google.common.collect.Iterators.addAll(java.util.Collection,java.util.Iterator):372:373 -> a
+    76:78:boolean com.android.tools.r8.com.google.common.collect.Iterators.removeAll(java.util.Iterator,java.util.Collection):208:210 -> a
+    79:79:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[]):219:219 -> a
+    80:80:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[],int):225:225 -> a
+    80:80:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[]):219 -> a
+    81:81:java.lang.Object com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementNotNull(java.lang.Object,int):235:235 -> a
+    82:82:int com.android.tools.r8.com.google.common.collect.Maps.capacity(int):309:309 -> a
+    83:83:boolean com.android.tools.r8.com.google.common.collect.Iterables.addAll(java.util.Collection,java.lang.Iterable):331:331 -> a
+    84:84:java.util.Collection cast(java.lang.Iterable):377:377 -> a
+    84:84:boolean com.android.tools.r8.com.google.common.collect.Iterables.addAll(java.util.Collection,java.lang.Iterable):332 -> a
+    85:85:boolean com.android.tools.r8.com.google.common.collect.Iterables.addAll(java.util.Collection,java.lang.Iterable):333:333 -> a
+    86:86:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    86:86:boolean com.android.tools.r8.com.google.common.collect.Iterables.addAll(java.util.Collection,java.lang.Iterable):335 -> a
+    87:87:boolean com.android.tools.r8.com.google.common.collect.Iterables.addAll(java.util.Collection,java.lang.Iterable):335:335 -> a
+    88:88:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> a
+    89:89:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):627:627 -> a
+    90:93:int com.android.tools.r8.com.google.common.collect.Iterators.indexOf(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):796:799 -> a
+    90:93:boolean com.android.tools.r8.com.google.common.collect.Iterators.any(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):688 -> a
+    90:93:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):627 -> a
+    94:94:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):669:669 -> a
+    95:95:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    95:95:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.find(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):743 -> a
+    95:95:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):669 -> a
+    96:96:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    96:96:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.find(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):744 -> a
+    96:96:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):669 -> a
+    97:99:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.find(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):745:747 -> a
+    97:99:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):669 -> a
+    100:100:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    100:100:boolean com.android.tools.r8.com.google.common.collect.Iterators.addAll(java.util.Collection,java.util.Iterator):369 -> a
     101:101:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    101:101:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator,java.util.Iterator):501 -> a
-    102:102:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    102:102:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator,java.util.Iterator):502 -> a
-    103:103:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator,java.util.Iterator):503:503 -> a
-    104:104:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.consumingForArray(java.lang.Object[]):471:471 -> a
-    104:104:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator,java.util.Iterator):503 -> a
-    105:105:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator):578:578 -> a
-    105:105:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator,java.util.Iterator):503 -> a
-    106:106:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    106:106:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.cycle(java.lang.Iterable):410 -> a
-    107:107:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.cycle(java.lang.Iterable):411:411 -> a
-    108:108:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    108:108:boolean com.android.tools.r8.com.google.common.collect.SortedIterables.hasSameComparator(java.util.Comparator,java.lang.Iterable):37 -> a
+    101:101:boolean com.android.tools.r8.com.google.common.collect.Iterators.addAll(java.util.Collection,java.util.Iterator):370 -> a
+    102:103:boolean com.android.tools.r8.com.google.common.collect.Iterators.addAll(java.util.Collection,java.util.Iterator):372:373 -> a
+    104:104:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    104:104:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator,java.util.Iterator):501 -> a
+    105:105:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    105:105:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator,java.util.Iterator):502 -> a
+    106:106:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator,java.util.Iterator):503:503 -> a
+    107:107:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.consumingForArray(java.lang.Object[]):471:471 -> a
+    107:107:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator,java.util.Iterator):503 -> a
+    108:108:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator):578:578 -> a
+    108:108:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator,java.util.Iterator):503 -> a
     109:109:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    109:109:boolean com.android.tools.r8.com.google.common.collect.SortedIterables.hasSameComparator(java.util.Comparator,java.lang.Iterable):38 -> a
-    110:111:boolean com.android.tools.r8.com.google.common.collect.SortedIterables.hasSameComparator(java.util.Comparator,java.lang.Iterable):40:41 -> a
-    112:114:java.util.Comparator com.android.tools.r8.com.google.common.collect.SortedIterables.comparator(java.util.SortedSet):53:55 -> a
-    112:114:boolean com.android.tools.r8.com.google.common.collect.SortedIterables.hasSameComparator(java.util.Comparator,java.lang.Iterable):41 -> a
-    115:120:boolean com.android.tools.r8.com.google.common.collect.SortedIterables.hasSameComparator(java.util.Comparator,java.lang.Iterable):42:47 -> a
-    121:121:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    121:121:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.limit(java.util.Iterator,int):950 -> a
-    122:123:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.limit(java.util.Iterator,int):951:952 -> a
+    109:109:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.cycle(java.lang.Iterable):410 -> a
+    110:110:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.cycle(java.lang.Iterable):411:411 -> a
+    111:111:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    111:111:boolean com.android.tools.r8.com.google.common.collect.SortedIterables.hasSameComparator(java.util.Comparator,java.lang.Iterable):37 -> a
+    112:112:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    112:112:boolean com.android.tools.r8.com.google.common.collect.SortedIterables.hasSameComparator(java.util.Comparator,java.lang.Iterable):38 -> a
+    113:114:boolean com.android.tools.r8.com.google.common.collect.SortedIterables.hasSameComparator(java.util.Comparator,java.lang.Iterable):40:41 -> a
+    115:117:java.util.Comparator com.android.tools.r8.com.google.common.collect.SortedIterables.comparator(java.util.SortedSet):53:55 -> a
+    115:117:boolean com.android.tools.r8.com.google.common.collect.SortedIterables.hasSameComparator(java.util.Comparator,java.lang.Iterable):41 -> a
+    118:123:boolean com.android.tools.r8.com.google.common.collect.SortedIterables.hasSameComparator(java.util.Comparator,java.lang.Iterable):42:47 -> a
     124:124:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    124:124:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.map(java.util.Spliterator,java.util.function.Function):103 -> a
-    125:125:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    125:125:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.map(java.util.Spliterator,java.util.function.Function):104 -> a
-    126:126:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.map(java.util.Spliterator,java.util.function.Function):105:105 -> a
+    124:124:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.limit(java.util.Iterator,int):950 -> a
+    125:126:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.limit(java.util.Iterator,int):951:952 -> a
     127:127:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    127:127:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):342 -> a
+    127:127:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.map(java.util.Spliterator,java.util.function.Function):103 -> a
     128:128:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    128:128:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):343 -> a
-    129:137:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):344:352 -> a
-    138:185:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):349:396 -> a
-    186:186:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    186:186:boolean com.android.tools.r8.com.google.common.collect.Iterators.removeAll(java.util.Iterator,java.util.Collection):206 -> a
-    187:189:boolean com.android.tools.r8.com.google.common.collect.Iterators.removeAll(java.util.Iterator,java.util.Collection):208:210 -> a
-    190:190:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    190:190:boolean com.android.tools.r8.com.google.common.collect.Sets.removeAllImpl(java.util.Set,java.util.Collection):1987 -> a
-    191:204:boolean com.android.tools.r8.com.google.common.collect.Sets.removeAllImpl(java.util.Set,java.util.Collection):1988:2001 -> a
-    205:205:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
-    205:205:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeGet(java.util.Map,java.lang.Object):3704 -> a
-    206:206:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeGet(java.util.Map,java.lang.Object):3706:3706 -> a
-    207:214:java.util.List com.android.tools.r8.com.google.common.collect.Lists.reverse(java.util.List):840:847 -> a
-    215:227:boolean com.android.tools.r8.com.google.common.collect.Multisets.equalsImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.lang.Object):880:892 -> a
-    228:231:com.android.tools.r8.com.google.common.collect.Sets$SetView com.android.tools.r8.com.google.common.collect.Sets.difference(java.util.Set,java.util.Set):911:914 -> a
-    232:249:boolean com.android.tools.r8.com.google.common.collect.Lists.equalsImpl(java.util.List,java.lang.Object):1017:1034 -> a
-    250:260:boolean com.android.tools.r8.com.google.common.collect.Iterators.elementsEqual(java.util.Iterator,java.util.Iterator):274:284 -> a
-    250:260:boolean com.android.tools.r8.com.google.common.collect.Lists.equalsImpl(java.util.List,java.lang.Object):1034 -> a
-    261:266:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1085:1090 -> a
-    267:267:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.emptyListIterator():90:90 -> a
-    267:267:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1092 -> a
-    268:268:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1094:1094 -> a
-    269:269:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.singletonIterator(java.lang.Object):1104:1104 -> a
-    270:270:java.util.Spliterator com.android.tools.r8.com.google.common.collect.Multisets.lambda$spliteratorImpl$2(com.android.tools.r8.com.google.common.collect.Multiset$Entry):1126:1126 -> a
-    271:273:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.Multisets.copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1159:1161 -> a
-    274:490:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):0:216 -> a
-    274:490:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.Multisets.copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1161 -> a
-    491:491:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.of():101:101 -> a
-    491:491:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):217 -> a
+    128:128:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.map(java.util.Spliterator,java.util.function.Function):104 -> a
+    129:129:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.map(java.util.Spliterator,java.util.function.Function):105:105 -> a
+    130:130:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    130:130:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):342 -> a
+    131:131:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    131:131:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):343 -> a
+    132:140:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):344:352 -> a
+    141:188:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):349:396 -> a
+    189:189:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    189:189:boolean com.android.tools.r8.com.google.common.collect.Sets.removeAllImpl(java.util.Set,java.util.Collection):1987 -> a
+    190:203:boolean com.android.tools.r8.com.google.common.collect.Sets.removeAllImpl(java.util.Set,java.util.Collection):1988:2001 -> a
+    204:204:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):787:787 -> a
+    204:204:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeGet(java.util.Map,java.lang.Object):3704 -> a
+    205:205:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeGet(java.util.Map,java.lang.Object):3706:3706 -> a
+    206:213:java.util.List com.android.tools.r8.com.google.common.collect.Lists.reverse(java.util.List):840:847 -> a
+    214:226:boolean com.android.tools.r8.com.google.common.collect.Multisets.equalsImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.lang.Object):880:892 -> a
+    227:230:com.android.tools.r8.com.google.common.collect.Sets$SetView com.android.tools.r8.com.google.common.collect.Sets.difference(java.util.Set,java.util.Set):911:914 -> a
+    231:248:boolean com.android.tools.r8.com.google.common.collect.Lists.equalsImpl(java.util.List,java.lang.Object):1017:1034 -> a
+    249:259:boolean com.android.tools.r8.com.google.common.collect.Iterators.elementsEqual(java.util.Iterator,java.util.Iterator):274:284 -> a
+    249:259:boolean com.android.tools.r8.com.google.common.collect.Lists.equalsImpl(java.util.List,java.lang.Object):1034 -> a
+    260:265:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1085:1090 -> a
+    266:266:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.emptyListIterator():90:90 -> a
+    266:266:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1092 -> a
+    267:267:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1094:1094 -> a
+    268:268:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.singletonIterator(java.lang.Object):1104:1104 -> a
+    269:269:java.util.Spliterator com.android.tools.r8.com.google.common.collect.Multisets.lambda$spliteratorImpl$2(com.android.tools.r8.com.google.common.collect.Multiset$Entry):1126:1126 -> a
+    270:272:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.Multisets.copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1159:1161 -> a
+    273:489:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):0:216 -> a
+    273:489:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.Multisets.copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1161 -> a
+    490:490:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.of():101:101 -> a
+    490:490:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):217 -> a
+    490:490:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.Multisets.copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1161 -> a
+    491:491:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):219:219 -> a
     491:491:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.Multisets.copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1161 -> a
-    492:492:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):219:219 -> a
-    492:492:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.Multisets.copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1161 -> a
-    493:494:int com.android.tools.r8.com.google.common.collect.Sets.hashCodeImpl(java.util.Set):1770:1771 -> a
-    495:499:boolean com.android.tools.r8.com.google.common.collect.Sets.equalsImpl(java.util.Set,java.lang.Object):1786:1790 -> a
-    500:503:java.util.NavigableSet com.android.tools.r8.com.google.common.collect.Sets.unmodifiableNavigableSet(java.util.NavigableSet):1817:1820 -> a
-    504:505:boolean com.android.tools.r8.com.google.common.collect.Sets.removeAllImpl(java.util.Set,java.util.Iterator):1980:1981 -> a
-    506:506:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.keyOrNull(java.util.Map$Entry):3891:3891 -> a
-    507:512:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.Maps.indexMap(java.util.Collection):4375:4380 -> a
-    507:512:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1668 -> a
-    513:514:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1669:1670 -> a
-    515:515:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():74:74 -> a
+    492:493:int com.android.tools.r8.com.google.common.collect.Sets.hashCodeImpl(java.util.Set):1770:1771 -> a
+    494:498:boolean com.android.tools.r8.com.google.common.collect.Sets.equalsImpl(java.util.Set,java.lang.Object):1786:1790 -> a
+    499:502:java.util.NavigableSet com.android.tools.r8.com.google.common.collect.Sets.unmodifiableNavigableSet(java.util.NavigableSet):1817:1820 -> a
+    503:504:boolean com.android.tools.r8.com.google.common.collect.Sets.removeAllImpl(java.util.Set,java.util.Iterator):1980:1981 -> a
+    505:505:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.keyOrNull(java.util.Map$Entry):3891:3891 -> a
+    506:511:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.Maps.indexMap(java.util.Collection):4375:4380 -> a
+    506:511:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1668 -> a
+    512:513:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1669:1670 -> a
+    514:514:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():74:74 -> a
+    514:514:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1672 -> a
+    515:515:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):83:83 -> a
     515:515:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1672 -> a
-    516:516:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):83:83 -> a
-    516:516:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1672 -> a
-    517:518:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1673:1674 -> a
-    519:602:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):0:83 -> a
-    519:602:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1674 -> a
-    603:603:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1676:1676 -> a
+    516:517:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1673:1674 -> a
+    518:601:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):0:83 -> a
+    518:601:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1674 -> a
+    602:602:java.util.Set com.android.tools.r8.com.google.common.collect.Sets.combinations(java.util.Set,int):1676:1676 -> a
     1:1:int com.android.tools.r8.com.google.common.collect.Hashing.smearedHash(java.lang.Object):54:54 -> b
     2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getOnlyElement(java.lang.Iterable):266:266 -> b
     3:17:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.getOnlyElement(java.util.Iterator):314:328 -> b
@@ -8718,13 +8714,10 @@
     21:21:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.filter(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):574 -> b
     22:22:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.filter(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):575:575 -> b
     23:26:com.android.tools.r8.com.google.common.collect.Sets$SetView com.android.tools.r8.com.google.common.collect.Sets.intersection(java.util.Set,java.util.Set):839:842 -> b
-    27:27:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.pollNext(java.util.Iterator):1017:1017 -> b
-    28:28:boolean com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$KeySet$1.hasNext():955:955 -> b
-    28:28:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.pollNext(java.util.Iterator):1017 -> b
-    29:30:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.pollNext(java.util.Iterator):1018:1019 -> b
-    31:31:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[]):1054:1054 -> b
-    32:39:java.util.Spliterator com.android.tools.r8.com.google.common.collect.Multisets.spliteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1123:1130 -> b
-    40:40:java.util.Spliterator com.android.tools.r8.com.google.common.collect.Multisets.spliteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1124:1124 -> b
+    27:29:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.pollNext(java.util.Iterator):1017:1019 -> b
+    30:30:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[]):1054:1054 -> b
+    31:38:java.util.Spliterator com.android.tools.r8.com.google.common.collect.Multisets.spliteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1123:1130 -> b
+    39:39:java.util.Spliterator com.android.tools.r8.com.google.common.collect.Multisets.spliteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1124:1124 -> b
     1:1:int com.android.tools.r8.com.google.common.collect.Hashing.smear(int):50:50 -> c
     2:2:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.stream(java.util.Iterator):82:82 -> c
     3:3:java.util.HashMap com.android.tools.r8.com.google.common.collect.Maps.newHashMap():283:283 -> c
@@ -9125,10 +9118,10 @@
     8:8:void com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.<init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,java.lang.Object[]):41:41 -> c
     8:8:com.android.tools.r8.com.google.common.collect.ImmutableList asList():317 -> c
     9:9:com.android.tools.r8.com.google.common.collect.ImmutableList asList():315:315 -> c
-    10:103:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):0:93 -> c
-    10:103:com.android.tools.r8.com.google.common.collect.ImmutableList asList():315 -> c
-    104:104:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():81:81 -> c
-    104:104:com.android.tools.r8.com.google.common.collect.ImmutableList asList():313 -> c
+    10:10:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):93:93 -> c
+    10:10:com.android.tools.r8.com.google.common.collect.ImmutableList asList():315 -> c
+    11:11:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():81:81 -> c
+    11:11:com.android.tools.r8.com.google.common.collect.ImmutableList asList():313 -> c
     1:1:void clear():297:297 -> clear
     boolean isPartialView() -> d
     com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator() -> e
@@ -9466,10 +9459,10 @@
     14:27:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():328 -> a
     28:28:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():328:328 -> a
 com.android.tools.r8.com.google.common.collect.ImmutableMap -> com.android.tools.r8.q.a.a.b.c0:
-    com.android.tools.r8.com.google.common.collect.ImmutableCollection values -> c
-    java.util.Map$Entry[] EMPTY_ENTRY_ARRAY -> d
-    com.android.tools.r8.com.google.common.collect.ImmutableSet keySet -> b
-    com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet -> a
+    com.android.tools.r8.com.google.common.collect.ImmutableCollection values -> d
+    java.util.Map$Entry[] EMPTY_ENTRY_ARRAY -> a
+    com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet -> b
+    com.android.tools.r8.com.google.common.collect.ImmutableSet keySet -> c
     1:1:void <clinit>():443:443 -> <clinit>
     1:1:void <init>():483:483 -> <init>
     1:1:java.util.stream.Collector toImmutableMap(java.util.function.Function,java.util.function.Function):80:80 -> a
@@ -9777,9 +9770,9 @@
     2:2:int com.android.tools.r8.com.google.common.collect.ImmutableMultimap.size():493:493 -> size
     2:2:int size():661 -> size
 com.android.tools.r8.com.google.common.collect.ImmutableMultiset -> com.android.tools.r8.q.a.a.b.s0:
-    int $r8$clinit -> d
-    com.android.tools.r8.com.google.common.collect.ImmutableList asList -> b
-    com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet -> c
+    int $r8$clinit -> b
+    com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet -> d
+    com.android.tools.r8.com.google.common.collect.ImmutableList asList -> c
     1:1:void <init>():235:235 -> <init>
     1:1:int remove(java.lang.Object,int):299:299 -> a
     2:2:boolean setCount(java.lang.Object,int,int):325:325 -> a
@@ -9824,19 +9817,18 @@
 com.android.tools.r8.com.google.common.collect.ImmutableMultisetGwtSerializationDependencies -> com.android.tools.r8.q.a.a.b.t0:
     1:1:void <init>():40:40 -> <init>
 com.android.tools.r8.com.google.common.collect.ImmutableSet -> com.android.tools.r8.q.a.a.b.u0:
-    com.android.tools.r8.com.google.common.collect.ImmutableList asList -> b
-    int $r8$clinit -> c
+    int $r8$clinit -> b
+    com.android.tools.r8.com.google.common.collect.ImmutableList asList -> c
     1:1:void <init>():332:332 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet access$000(int,java.lang.Object[]):51:51 -> a
     2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object):92:92 -> a
     3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object,java.lang.Object):101:101 -> a
     4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):110:110 -> a
-    5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):119:119 -> a
-    6:14:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object[]):132:140 -> a
-    15:22:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):259:266 -> a
-    23:23:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOfEnumSet(java.util.EnumSet):329:329 -> a
-    23:23:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):266 -> a
-    24:25:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):268:269 -> a
+    5:13:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object[]):132:140 -> a
+    14:21:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):259:266 -> a
+    22:22:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOfEnumSet(java.util.EnumSet):329:329 -> a
+    22:22:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):266 -> a
+    23:24:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):268:269 -> a
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object):83:83 -> b
     2:37:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,java.lang.Object[]):169:204 -> b
     38:38:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,java.lang.Object[]):164:164 -> b
@@ -9903,10 +9895,10 @@
     2:3:java.util.Spliterator spliterator():92:93 -> spliterator
     4:4:java.util.Spliterator spliterator():89:89 -> spliterator
 com.android.tools.r8.com.google.common.collect.ImmutableSortedMap -> com.android.tools.r8.q.a.a.b.B0:
-    com.android.tools.r8.com.google.common.collect.ImmutableList valueList -> f
-    com.android.tools.r8.com.google.common.collect.ImmutableSortedMap descendingMap -> g
-    com.android.tools.r8.com.google.common.collect.ImmutableSortedMap NATURAL_EMPTY_MAP -> h
-    com.android.tools.r8.com.google.common.collect.RegularImmutableSortedSet keySet -> e
+    com.android.tools.r8.com.google.common.collect.ImmutableSortedMap NATURAL_EMPTY_MAP -> e
+    com.android.tools.r8.com.google.common.collect.RegularImmutableSortedSet keySet -> f
+    com.android.tools.r8.com.google.common.collect.ImmutableSortedMap descendingMap -> h
+    com.android.tools.r8.com.google.common.collect.ImmutableList valueList -> g
     1:5:void <clinit>():116:120 -> <clinit>
     6:6:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():81:81 -> <clinit>
     6:6:void <clinit>():120 -> <clinit>
@@ -10271,8 +10263,6 @@
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):490:490 -> c
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSortedSet$Builder add(java.lang.Object):479 -> c
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):455 -> c
-    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):522:522 -> c
-    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSortedSet$Builder addAll(java.lang.Iterable):509 -> c
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):490:490 -> d
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableSortedSet$Builder add(java.lang.Object):479 -> d
 com.android.tools.r8.com.google.common.collect.ImmutableSortedSetFauxverideShim -> com.android.tools.r8.q.a.a.b.E0:
@@ -10326,7 +10316,7 @@
     java.util.Iterator val$unfiltered -> c
     com.android.tools.r8.com.google.common.base.Predicate val$retainIfTrue -> d
     1:1:void <init>(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):659:659 -> <init>
-    1:7:java.lang.Object computeNext():662:668 -> k
+    1:7:java.lang.Object computeNext():662:668 -> l
 com.android.tools.r8.com.google.common.collect.Iterators$6 -> com.android.tools.r8.q.a.a.b.K0:
     com.android.tools.r8.com.google.common.base.Function val$function -> b
     1:1:void <init>(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):817:817 -> <init>
@@ -10348,9 +10338,9 @@
     1:5:java.lang.Object next():1114:1118 -> next
     6:6:java.lang.Object next():1115:1115 -> next
 com.android.tools.r8.com.google.common.collect.Iterators$ArrayItr -> com.android.tools.r8.q.a.a.b.N0:
-    com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator EMPTY -> e
-    java.lang.Object[] array -> c
-    int offset -> d
+    java.lang.Object[] array -> d
+    com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator EMPTY -> c
+    int offset -> e
     1:1:void <clinit>():1058:1058 -> <clinit>
     1:3:void <init>(java.lang.Object[],int,int,int):1065:1067 -> <init>
     1:1:java.lang.Object get(int):1072:1072 -> a
@@ -10481,16 +10471,16 @@
     2:6:com.android.tools.r8.com.google.common.collect.MapMaker weakValues():239 -> e
     1:17:java.lang.String toString():290:306 -> toString
 com.android.tools.r8.com.google.common.collect.MapMakerInternalMap -> com.android.tools.r8.q.a.a.b.Z0:
-    java.util.Set keySet -> g
-    java.util.Set entrySet -> i
-    com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$InternalEntryHelper entryHelper -> f
-    com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$Segment[] segments -> c
-    com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$WeakValueReference UNSET_WEAK_VALUE_REFERENCE -> j
-    int concurrencyLevel -> d
-    com.android.tools.r8.com.google.common.base.Equivalence keyEquivalence -> e
-    int segmentShift -> b
-    int segmentMask -> a
-    java.util.Collection values -> h
+    com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$WeakValueReference UNSET_WEAK_VALUE_REFERENCE -> a
+    java.util.Set keySet -> h
+    java.util.Set entrySet -> j
+    com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$Segment[] segments -> d
+    com.android.tools.r8.com.google.common.base.Equivalence keyEquivalence -> f
+    int concurrencyLevel -> e
+    int segmentMask -> b
+    com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$InternalEntryHelper entryHelper -> g
+    java.util.Collection values -> i
+    int segmentShift -> c
     1:1:void <clinit>():1023:1023 -> <clinit>
     1:33:void <init>(com.android.tools.r8.com.google.common.collect.MapMaker,com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$InternalEntryHelper):160:192 -> <init>
     1:24:com.android.tools.r8.com.google.common.collect.MapMakerInternalMap create(com.android.tools.r8.com.google.common.collect.MapMaker):199:222 -> a
@@ -10645,12 +10635,12 @@
     3:1147:boolean advanceTo(com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$InternalEntry):2613 -> a
     1148:1155:boolean advanceTo(com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$InternalEntry):2615:2622 -> a
     1:1:boolean hasNext():2628:2628 -> hasNext
-    1:16:void advance():2556:2571 -> k
-    1:6:com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$WriteThroughEntry nextEntry():2632:2637 -> l
-    7:7:com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$WriteThroughEntry nextEntry():2633:2633 -> l
-    1:3:boolean nextInChain():2582:2584 -> m
-    4:4:boolean nextInChain():2583:2583 -> m
-    1:3:boolean nextInTable():2596:2598 -> n
+    1:16:void advance():2556:2571 -> l
+    1:6:com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$WriteThroughEntry nextEntry():2632:2637 -> m
+    7:7:com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$WriteThroughEntry nextEntry():2633:2633 -> m
+    1:3:boolean nextInChain():2582:2584 -> n
+    4:4:boolean nextInChain():2583:2583 -> n
+    1:3:boolean nextInTable():2596:2598 -> o
     1:1:void remove():2642:2642 -> remove
     2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):65:65 -> remove
     2:2:void remove():2642 -> remove
@@ -10687,14 +10677,14 @@
     1:1:java.lang.Object[] toArray():2850:2850 -> toArray
     2:2:java.lang.Object[] toArray(java.lang.Object[]):2855:2855 -> toArray
 com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$Segment -> com.android.tools.r8.q.a.a.b.d1:
-    com.android.tools.r8.com.google.common.collect.MapMakerInternalMap map -> a
-    java.util.concurrent.atomic.AtomicInteger readCount -> g
-    int $r8$clinit -> h
-    int maxSegmentSize -> f
-    int threshold -> d
-    java.util.concurrent.atomic.AtomicReferenceArray table -> e
-    int count -> b
-    int modCount -> c
+    com.android.tools.r8.com.google.common.collect.MapMakerInternalMap map -> b
+    java.util.concurrent.atomic.AtomicReferenceArray table -> f
+    int maxSegmentSize -> g
+    int modCount -> d
+    int threshold -> e
+    int count -> c
+    java.util.concurrent.atomic.AtomicInteger readCount -> h
+    int $r8$clinit -> a
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.MapMakerInternalMap,int,int):1231:1231 -> <init>
     2:7:void <init>(com.android.tools.r8.com.google.common.collect.MapMakerInternalMap,int,int):1229:1234 -> <init>
     1:1:void setValue(com.android.tools.r8.com.google.common.collect.MapMakerInternalMap$InternalEntry,java.lang.Object):1254:1254 -> a
@@ -11365,13 +11355,13 @@
     1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):56:56 -> listIterator
     1:1:java.util.ListIterator listIterator(int):29 -> listIterator
 com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap -> com.android.tools.r8.q.a.a.b.f2:
-    com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse -> j
-    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] keyTable -> e
-    com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap EMPTY -> k
-    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] valueTable -> f
-    int mask -> h
-    java.util.Map$Entry[] entries -> g
-    int hashCode -> i
+    com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse -> k
+    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] keyTable -> f
+    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] valueTable -> g
+    int hashCode -> j
+    java.util.Map$Entry[] entries -> h
+    int mask -> i
+    com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap EMPTY -> e
     1:1:void <clinit>():44:44 -> <clinit>
     1:6:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],java.util.Map$Entry[],int,int):119:124 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] access$100(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap):43:43 -> a
@@ -11468,8 +11458,8 @@
     3:3:java.lang.Object get(int):268 -> get
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():277:277 -> i
 com.android.tools.r8.com.google.common.collect.RegularImmutableList -> com.android.tools.r8.q.a.a.b.g2:
-    java.lang.Object[] array -> c
-    com.android.tools.r8.com.google.common.collect.ImmutableList EMPTY -> d
+    java.lang.Object[] array -> d
+    com.android.tools.r8.com.google.common.collect.ImmutableList EMPTY -> c
     1:1:void <clinit>():31:31 -> <clinit>
     1:2:void <init>(java.lang.Object[]):36:37 -> <init>
     1:2:int copyIntoArray(java.lang.Object[],int):52:53 -> a
@@ -11481,10 +11471,10 @@
     1:1:int size():42:42 -> size
     1:1:java.util.Spliterator spliterator():73:73 -> spliterator
 com.android.tools.r8.com.google.common.collect.RegularImmutableMap -> com.android.tools.r8.q.a.a.b.j2:
-    com.android.tools.r8.com.google.common.collect.ImmutableMap EMPTY -> h
-    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] table -> f
-    java.util.Map$Entry[] entries -> e
-    int mask -> g
+    java.util.Map$Entry[] entries -> f
+    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] table -> g
+    int mask -> h
+    com.android.tools.r8.com.google.common.collect.ImmutableMap EMPTY -> e
     1:1:void <clinit>():42:42 -> <clinit>
     1:4:void <init>(java.util.Map$Entry[],com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):100:103 -> <init>
     1:1:java.util.Map$Entry[] access$000(com.android.tools.r8.com.google.common.collect.RegularImmutableMap):40:40 -> a
@@ -11535,12 +11525,12 @@
     1:1:java.lang.Object get(int):242:242 -> get
     1:1:int size():247:247 -> size
 com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset -> com.android.tools.r8.q.a.a.b.l2:
-    com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset EMPTY -> j
-    com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[] entries -> e
-    com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[] hashTable -> f
-    com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet -> i
-    int hashCode -> h
-    int size -> g
+    com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet -> j
+    com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[] entries -> f
+    com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[] hashTable -> g
+    int size -> h
+    int hashCode -> i
+    com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset EMPTY -> e
     1:1:void <clinit>():37:37 -> <clinit>
     2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():81:81 -> <clinit>
     2:2:void <clinit>():38 -> <clinit>
@@ -11572,11 +11562,11 @@
     1:2:void <init>(java.lang.Object,int,com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry):100:101 -> <init>
     1:1:com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry nextInBucket():106:106 -> c
 com.android.tools.r8.com.google.common.collect.RegularImmutableSet -> com.android.tools.r8.q.a.a.b.n2:
-    com.android.tools.r8.com.google.common.collect.RegularImmutableSet EMPTY -> h
-    java.lang.Object[] elements -> d
-    java.lang.Object[] table -> e
-    int mask -> f
-    int hashCode -> g
+    java.lang.Object[] elements -> e
+    int hashCode -> h
+    int mask -> g
+    com.android.tools.r8.com.google.common.collect.RegularImmutableSet EMPTY -> d
+    java.lang.Object[] table -> f
     1:1:void <clinit>():33:33 -> <clinit>
     1:5:void <init>(java.lang.Object[],int,java.lang.Object[],int):43:47 -> <init>
     1:2:int copyIntoArray(java.lang.Object[],int):84:85 -> a
@@ -11596,8 +11586,8 @@
     1:1:int size():69:69 -> size
     1:1:java.util.Spliterator spliterator():79:79 -> spliterator
 com.android.tools.r8.com.google.common.collect.RegularImmutableSortedSet -> com.android.tools.r8.q.a.a.b.o2:
-    com.android.tools.r8.com.google.common.collect.ImmutableList elements -> f
-    com.android.tools.r8.com.google.common.collect.RegularImmutableSortedSet NATURAL_EMPTY_SET -> g
+    com.android.tools.r8.com.google.common.collect.RegularImmutableSortedSet NATURAL_EMPTY_SET -> f
+    com.android.tools.r8.com.google.common.collect.ImmutableList elements -> g
     1:1:void <clinit>():44:44 -> <clinit>
     2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():81:81 -> <clinit>
     2:2:void <clinit>():45 -> <clinit>
@@ -11746,7 +11736,7 @@
     java.util.Iterator itr1 -> c
     com.android.tools.r8.com.google.common.collect.Sets$1 this$0 -> e
     1:3:void <init>(com.android.tools.r8.com.google.common.collect.Sets$1):763:765 -> <init>
-    1:10:java.lang.Object computeNext():769:778 -> k
+    1:10:java.lang.Object computeNext():769:778 -> l
 com.android.tools.r8.com.google.common.collect.Sets$2 -> com.android.tools.r8.q.a.a.b.u2:
     java.util.Set val$set1 -> a
     java.util.Set val$set2 -> b
@@ -11763,7 +11753,7 @@
     java.util.Iterator itr -> c
     com.android.tools.r8.com.google.common.collect.Sets$2 this$0 -> d
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$2):845:846 -> <init>
-    1:7:java.lang.Object computeNext():850:856 -> k
+    1:7:java.lang.Object computeNext():850:856 -> l
 com.android.tools.r8.com.google.common.collect.Sets$3 -> com.android.tools.r8.q.a.a.b.w2:
     java.util.Set val$set1 -> a
     java.util.Set val$set2 -> b
@@ -11781,7 +11771,7 @@
     java.util.Iterator itr -> c
     com.android.tools.r8.com.google.common.collect.Sets$3 this$0 -> d
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$3):917:918 -> <init>
-    1:7:java.lang.Object computeNext():921:927 -> k
+    1:7:java.lang.Object computeNext():921:927 -> l
 com.android.tools.r8.com.google.common.collect.Sets$5 -> com.android.tools.r8.q.a.a.b.A2:
     com.android.tools.r8.com.google.common.collect.ImmutableMap val$index -> b
     int val$size -> a
@@ -11794,8 +11784,8 @@
     java.util.BitSet bits -> c
     com.android.tools.r8.com.google.common.collect.Sets$5 this$0 -> d
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5):1688:1689 -> <init>
-    1:29:java.util.Set computeNext():1693:1721 -> k
-    1:29:java.lang.Object computeNext():1688 -> k
+    1:29:java.util.Set computeNext():1693:1721 -> l
+    1:29:java.lang.Object computeNext():1688 -> l
 com.android.tools.r8.com.google.common.collect.Sets$5$1$1 -> com.android.tools.r8.q.a.a.b.y2:
     com.android.tools.r8.com.google.common.collect.Sets$5$1 this$1 -> b
     java.util.BitSet val$copy -> a
@@ -11807,7 +11797,7 @@
     com.android.tools.r8.com.google.common.collect.Sets$5$1$1 this$2 -> d
     int i -> c
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5$1$1):1730:1731 -> <init>
-    1:5:java.lang.Object computeNext():1735:1739 -> k
+    1:5:java.lang.Object computeNext():1735:1739 -> l
 com.android.tools.r8.com.google.common.collect.Sets$ImprovedAbstractSet -> com.android.tools.r8.q.a.a.b.B2:
     1:1:void <init>():77:77 -> <init>
     1:1:boolean removeAll(java.util.Collection):80:80 -> removeAll
@@ -11902,8 +11892,8 @@
     2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.singletonIterator(java.lang.Object):1104:1104 -> e
     2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():66 -> e
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():71:71 -> g
-    2:95:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):0:93 -> g
-    2:95:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():71 -> g
+    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):93:93 -> g
+    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():71 -> g
     1:1:boolean isHashCodeFast():97:97 -> h
     1:3:int hashCode():88:90 -> hashCode
     1:1:java.lang.String toString():102:102 -> toString
@@ -12223,9 +12213,9 @@
     java.util.logging.Logger logger -> a
     1:1:void <clinit>():37:37 -> <clinit>
 com.android.tools.r8.com.google.common.io.Closer -> com.android.tools.r8.q.a.a.d.p:
-    com.android.tools.r8.com.google.common.io.Closer$Suppressor suppressor -> a
-    java.util.Deque stack -> b
-    com.android.tools.r8.com.google.common.io.Closer$Suppressor SUPPRESSOR -> c
+    com.android.tools.r8.com.google.common.io.Closer$Suppressor suppressor -> b
+    com.android.tools.r8.com.google.common.io.Closer$Suppressor SUPPRESSOR -> a
+    java.util.Deque stack -> c
     1:1:boolean com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor.isAvailable():271:271 -> <clinit>
     1:1:void <clinit>():96 -> <clinit>
     2:2:void <clinit>():96:96 -> <clinit>
@@ -12380,8 +12370,8 @@
     101:101:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):88:88 -> a
     102:106:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):86:90 -> a
 com.android.tools.r8.com.google.gson.JsonPrimitive -> com.android.tools.r8.q.a.b.h:
-    java.lang.Class[] PRIMITIVE_TYPES -> b
-    java.lang.Object value -> a
+    java.lang.Class[] PRIMITIVE_TYPES -> a
+    java.lang.Object value -> b
     1:1:void <clinit>():35:35 -> <clinit>
     1:2:void <init>(java.lang.Boolean):46:47 -> <init>
     3:4:void <init>(java.lang.Number):55:56 -> <init>
@@ -12442,15 +12432,15 @@
     1:3:long longValue():50:52 -> longValue
     1:1:java.lang.String toString():68:68 -> toString
 com.android.tools.r8.com.google.gson.internal.LinkedTreeMap -> com.android.tools.r8.q.a.b.l.d:
-    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node header -> e
-    java.util.Comparator NATURAL_ORDER -> h
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet keySet -> g
-    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node root -> b
-    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet entrySet -> f
-    int modCount -> d
-    int size -> c
-    java.util.Comparator comparator -> a
+    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node root -> d
+    int modCount -> f
+    java.util.Comparator comparator -> c
+    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet keySet -> i
+    int size -> e
+    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet entrySet -> h
+    boolean $assertionsDisabled -> b
+    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node header -> g
+    java.util.Comparator NATURAL_ORDER -> a
     1:3:void <clinit>():38:40 -> <clinit>
     1:1:void <init>():60:60 -> <init>
     2:2:void <init>(java.util.Comparator):71:71 -> <init>
@@ -12524,9 +12514,9 @@
     1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap):531:531 -> <init>
     2:4:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap):527:529 -> <init>
     1:1:boolean hasNext():535:535 -> hasNext
-    1:9:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node nextNode():539:547 -> k
-    10:10:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node nextNode():544:544 -> k
-    11:11:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node nextNode():541:541 -> k
+    1:9:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node nextNode():539:547 -> l
+    10:10:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node nextNode():544:544 -> l
+    11:11:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node nextNode():541:541 -> l
     1:6:void remove():551:556 -> remove
     7:7:void remove():552:552 -> remove
 com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node -> com.android.tools.r8.q.a.b.l.f:
@@ -12754,22 +12744,22 @@
     3:3:java.util.concurrent.atomic.AtomicBoolean read(com.android.tools.r8.com.google.gson.stream.JsonReader):273:273 -> a
     3:3:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):271 -> a
 com.android.tools.r8.com.google.gson.stream.JsonReader -> com.android.tools.r8.q.a.b.m.a:
-    long peekedLong -> i
-    char[] buffer -> c
-    int stackSize -> m
-    int peekedNumberLength -> j
-    java.lang.String peekedString -> k
-    int peeked -> h
-    int lineNumber -> f
-    int lineStart -> g
-    java.io.Reader in -> a
-    int pos -> d
-    int limit -> e
-    java.lang.String[] pathNames -> n
-    int[] pathIndices -> o
-    boolean lenient -> b
-    int[] stack -> l
-    char[] NON_EXECUTE_PREFIX -> p
+    char[] NON_EXECUTE_PREFIX -> a
+    long peekedLong -> j
+    int stackSize -> n
+    char[] buffer -> d
+    int peekedNumberLength -> k
+    int lineStart -> h
+    int peeked -> i
+    java.lang.String peekedString -> l
+    int limit -> f
+    java.io.Reader in -> b
+    int lineNumber -> g
+    int pos -> e
+    java.lang.String[] pathNames -> o
+    int[] pathIndices -> p
+    boolean lenient -> c
+    int[] stack -> m
     1:1:void <clinit>():192:192 -> <clinit>
     1:1:void <init>(java.io.Reader):289:289 -> <init>
     2:65:void <init>(java.io.Reader):230:293 -> <init>
@@ -12792,11 +12782,8 @@
     28:83:java.lang.String nextQuotedValue(char):1004 -> b
     84:122:char readEscapeCharacter():1502:1540 -> b
     84:122:java.lang.String nextQuotedValue(char):1004 -> b
-    123:125:java.lang.String nextQuotedValue(char):1004:1006 -> b
-    126:126:char readEscapeCharacter():1550:1550 -> b
-    126:126:java.lang.String nextQuotedValue(char):1004 -> b
-    127:135:java.lang.String nextQuotedValue(char):1009:1017 -> b
-    136:147:void push(int):1256:1267 -> b
+    123:136:java.lang.String nextQuotedValue(char):1004:1017 -> b
+    137:148:void push(int):1256:1267 -> b
     1:2:void checkLenient():1400:1401 -> c
     1:4:void close():1208:1211 -> close
     1:15:int doPeek():462:476 -> d
@@ -12869,15 +12856,15 @@
     55:55:void <clinit>():25:25 -> <clinit>
     1:1:void <init>(java.lang.String,int):25:25 -> <init>
 com.android.tools.r8.com.google.gson.stream.JsonWriter -> com.android.tools.r8.q.a.b.m.c:
-    java.lang.String deferredName -> f
-    java.lang.String[] HTML_SAFE_REPLACEMENT_CHARS -> i
-    int[] stack -> b
-    java.lang.String[] REPLACEMENT_CHARS -> h
-    boolean lenient -> e
-    java.io.Writer out -> a
-    boolean serializeNulls -> g
-    int stackSize -> c
-    java.lang.String separator -> d
+    java.lang.String separator -> f
+    java.lang.String deferredName -> h
+    boolean serializeNulls -> i
+    int[] stack -> d
+    boolean lenient -> g
+    java.io.Writer out -> c
+    int stackSize -> e
+    java.lang.String[] REPLACEMENT_CHARS -> a
+    java.lang.String[] HTML_SAFE_REPLACEMENT_CHARS -> b
     1:17:void <clinit>():145:161 -> <clinit>
     1:1:void <init>(java.io.Writer):197:197 -> <init>
     2:36:void <init>(java.io.Writer):167:201 -> <init>
@@ -12961,11 +12948,11 @@
     60:60:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):128 -> a
     61:81:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):128:148 -> a
 com.android.tools.r8.dex.ApplicationReader -> com.android.tools.r8.dex.a:
-    com.android.tools.r8.graph.DexItemFactory itemFactory -> b
-    com.android.tools.r8.utils.Timing timing -> c
-    com.android.tools.r8.utils.InternalOptions options -> a
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.utils.AndroidApp inputApp -> d
+    com.android.tools.r8.graph.DexItemFactory itemFactory -> c
+    com.android.tools.r8.utils.Timing timing -> d
+    com.android.tools.r8.utils.InternalOptions options -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.utils.AndroidApp inputApp -> e
     1:1:void <clinit>():59:59 -> <clinit>
     1:5:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):70:74 -> <init>
     1:190:int validateOrComputeMinApiLevel(int,com.android.tools.r8.dex.DexReader):0:189 -> a
@@ -13024,14 +13011,14 @@
     323:323:com.android.tools.r8.graph.DexType lambda$readMainDexList$1(java.lang.String):232:232 -> a
     1:1:com.android.tools.r8.utils.AndroidApp access$200(com.android.tools.r8.dex.ApplicationReader):59:59 -> b
 com.android.tools.r8.dex.ApplicationReader$ClassReader -> com.android.tools.r8.dex.a$a:
-    java.util.List futures -> b
-    com.android.tools.r8.graph.JarApplicationReader application -> f
-    java.util.Queue programClasses -> c
-    java.util.Queue libraryClasses -> e
-    java.util.Queue classpathClasses -> d
-    com.android.tools.r8.dex.ApplicationReader this$0 -> g
-    boolean $assertionsDisabled -> h
-    java.util.concurrent.ExecutorService executorService -> a
+    java.util.Queue libraryClasses -> f
+    com.android.tools.r8.graph.JarApplicationReader application -> g
+    java.util.Queue classpathClasses -> e
+    java.util.List futures -> c
+    java.util.Queue programClasses -> d
+    boolean $assertionsDisabled -> a
+    java.util.concurrent.ExecutorService executorService -> b
+    com.android.tools.r8.dex.ApplicationReader this$0 -> h
     1:1:void <clinit>():238:238 -> <clinit>
     1:1:void <init>(com.android.tools.r8.dex.ApplicationReader,java.util.concurrent.ExecutorService,java.util.List):250:250 -> <init>
     2:10:void <init>(com.android.tools.r8.dex.ApplicationReader,java.util.concurrent.ExecutorService,java.util.List):244:252 -> <init>
@@ -13049,26 +13036,26 @@
 com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver -> com.android.tools.r8.dex.a$b:
     com.android.tools.r8.graph.DexProgramClass resolveClassConflict(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass) -> a
 com.android.tools.r8.dex.ApplicationWriter -> com.android.tools.r8.dex.b:
-    com.android.tools.r8.graph.DexApplication application -> a
-    com.android.tools.r8.graph.AppView appView -> b
-    boolean $assertionsDisabled -> l
-    com.android.tools.r8.graph.GraphLense graphLense -> c
-    com.android.tools.r8.dex.CodeToKeep desugaredLibraryCodeToKeep -> g
-    java.util.List markerStrings -> i
-    com.android.tools.r8.utils.InternalOptions options -> f
-    java.util.List markers -> h
-    com.android.tools.r8.DexIndexedConsumer programConsumer -> j
-    com.android.tools.r8.naming.NamingLens namingLens -> e
-    com.android.tools.r8.naming.ProguardMapSupplier proguardMapSupplier -> k
-    com.android.tools.r8.graph.InitClassLens initClassLens -> d
+    com.android.tools.r8.naming.ProguardMapSupplier proguardMapSupplier -> l
+    com.android.tools.r8.graph.DexApplication application -> b
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.graph.GraphLense graphLense -> d
+    com.android.tools.r8.naming.NamingLens namingLens -> f
+    java.util.List markerStrings -> j
+    java.util.List markers -> i
+    com.android.tools.r8.dex.CodeToKeep desugaredLibraryCodeToKeep -> h
+    com.android.tools.r8.utils.InternalOptions options -> g
+    com.android.tools.r8.DexIndexedConsumer programConsumer -> k
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.InitClassLens initClassLens -> e
     1:1:void <clinit>():68:68 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,java.util.List,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.naming.ProguardMapSupplier):155:155 -> <init>
     2:14:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,java.util.List,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.naming.ProguardMapSupplier,com.android.tools.r8.DexIndexedConsumer):176:188 -> <init>
     1:1:java.util.List distribute(java.util.concurrent.ExecutorService):195:195 -> a
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():393:393 -> a
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():389:389 -> a
     2:2:java.util.List distribute(java.util.concurrent.ExecutorService):195 -> a
     3:3:java.util.List distribute(java.util.concurrent.ExecutorService):196:196 -> a
-    4:4:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():405:405 -> a
+    4:4:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():401:401 -> a
     4:4:java.util.List distribute(java.util.concurrent.ExecutorService):197 -> a
     5:14:java.util.List distribute(java.util.concurrent.ExecutorService):197:206 -> a
     15:16:void encodeChecksums(java.lang.Iterable):216:217 -> a
@@ -13078,10 +13065,10 @@
     28:28:java.lang.Boolean lambda$write$0(java.util.List,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):266:266 -> a
     29:29:void lambda$write$1(com.android.tools.r8.dex.ApplicationWriter$SortAnnotations,com.android.tools.r8.graph.DexProgramClass):271:271 -> a
     30:34:java.lang.Boolean lambda$write$2(com.android.tools.r8.dex.VirtualFile):282:286 -> a
-    35:35:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():405:405 -> a
+    35:35:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():401:401 -> a
     35:35:java.lang.Boolean lambda$write$2(com.android.tools.r8.dex.VirtualFile):286 -> a
     36:43:java.lang.Boolean lambda$write$2(com.android.tools.r8.dex.VirtualFile):289:296 -> a
-    44:44:com.android.tools.r8.DexIndexedConsumer com.android.tools.r8.utils.InternalOptions.getDexIndexedConsumer():401:401 -> a
+    44:44:com.android.tools.r8.DexIndexedConsumer com.android.tools.r8.utils.InternalOptions.getDexIndexedConsumer():397:397 -> a
     44:44:java.lang.Boolean lambda$write$2(com.android.tools.r8.dex.VirtualFile):296 -> a
     45:49:java.lang.Boolean lambda$write$2(com.android.tools.r8.dex.VirtualFile):300:304 -> a
     50:50:java.lang.Boolean lambda$write$2(com.android.tools.r8.dex.VirtualFile):303:303 -> a
@@ -13139,7 +13126,7 @@
     40:40:void write(java.util.concurrent.ExecutorService):264:264 -> b
     41:56:void write(java.util.concurrent.ExecutorService):263:278 -> b
     57:115:void write(java.util.concurrent.ExecutorService):277:335 -> b
-    116:116:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> b
+    116:116:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> b
     116:116:void write(java.util.concurrent.ExecutorService):335 -> b
     117:125:void write(java.util.concurrent.ExecutorService):335:343 -> b
 com.android.tools.r8.dex.ApplicationWriter$1 -> com.android.tools.r8.dex.b$a:
@@ -13167,9 +13154,9 @@
     2:2:boolean add(com.android.tools.r8.graph.DexAnnotation):101:101 -> a
     3:4:boolean add(com.android.tools.r8.graph.DexEncodedArray):108:109 -> a
 com.android.tools.r8.dex.BinaryReader -> com.android.tools.r8.dex.c:
-    com.android.tools.r8.origin.Origin origin -> a
-    com.android.tools.r8.dex.CompatByteBuffer buffer -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.origin.Origin origin -> b
+    com.android.tools.r8.dex.CompatByteBuffer buffer -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():17:17 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ProgramResource):22:22 -> <init>
     2:5:void <init>(com.android.tools.r8.origin.Origin,byte[]):25:28 -> <init>
@@ -13183,8 +13170,8 @@
     1:1:int getUleb128p1():52 -> e
     1:2:int getUshort():62:63 -> f
 com.android.tools.r8.dex.ClassesChecksum -> com.android.tools.r8.dex.d:
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap dictionary -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap dictionary -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:void <init>():23:23 -> <init>
     2:8:void <init>():21:27 -> <init>
@@ -13207,7 +13194,7 @@
     void recordField(com.android.tools.r8.graph.DexField) -> a
     void recordMethod(com.android.tools.r8.graph.DexMethod) -> a
     1:2:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):23:24 -> a
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     3:3:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):25 -> a
     4:6:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):26:28 -> a
     void recordClassAllAccesses(com.android.tools.r8.graph.DexType) -> b
@@ -13229,9 +13216,9 @@
     1:3:void recordClassAllAccesses(com.android.tools.r8.graph.DexType):106:108 -> b
     1:3:java.lang.String convertType(com.android.tools.r8.graph.DexType):123:125 -> c
     1:1:void keepClass(com.android.tools.r8.graph.DexType):113:113 -> d
-    2:9:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):344:351 -> d
+    2:9:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):370:377 -> d
     2:9:void keepClass(com.android.tools.r8.graph.DexType):113 -> d
-    10:14:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):349:353 -> d
+    10:14:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):375:379 -> d
     10:14:void keepClass(com.android.tools.r8.graph.DexType):113 -> d
     15:15:void keepClass(com.android.tools.r8.graph.DexType):114:114 -> d
     1:1:boolean shouldKeep(com.android.tools.r8.graph.DexType):67:67 -> e
@@ -13342,9 +13329,9 @@
     1:3:void putSleb128(int):59:61 -> c
     1:3:void putUleb128(int):65:67 -> d
 com.android.tools.r8.dex.DexOutputBuffer -> com.android.tools.r8.dex.m:
-    com.android.tools.r8.dex.CompatByteBuffer byteBuffer -> b
-    com.android.tools.r8.ByteBufferProvider byteBufferProvider -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.dex.CompatByteBuffer byteBuffer -> c
+    com.android.tools.r8.ByteBufferProvider byteBufferProvider -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():23:23 -> <clinit>
     1:1:void <init>():31:31 -> <init>
     2:4:void <init>(com.android.tools.r8.ByteBufferProvider):34:36 -> <init>
@@ -13380,18 +13367,18 @@
 com.android.tools.r8.dex.DexOutputBuffer$1 -> com.android.tools.r8.dex.m$a:
     1:1:void <init>():31:31 -> <init>
 com.android.tools.r8.dex.DexParser -> com.android.tools.r8.dex.n:
-    com.android.tools.r8.graph.OffsetToObjectMapping indexedItems -> h
-    com.android.tools.r8.graph.ClassKind classKind -> e
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap checksums -> g
-    com.android.tools.r8.origin.Origin origin -> a
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap offsetMap -> j
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap codes -> i
-    com.android.tools.r8.dex.DexReader dexReader -> b
-    com.android.tools.r8.dex.DexSection[] dexSections -> c
-    int[] stringIDs -> d
-    boolean $assertionsDisabled -> l
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> k
-    com.android.tools.r8.utils.InternalOptions options -> f
+    com.android.tools.r8.graph.ClassKind classKind -> f
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap offsetMap -> k
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap codes -> j
+    com.android.tools.r8.origin.Origin origin -> b
+    com.android.tools.r8.dex.DexSection[] dexSections -> d
+    int[] stringIDs -> e
+    com.android.tools.r8.dex.DexReader dexReader -> c
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> l
+    com.android.tools.r8.utils.InternalOptions options -> g
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap checksums -> h
+    com.android.tools.r8.graph.OffsetToObjectMapping indexedItems -> i
     1:1:void <clinit>():81:81 -> <clinit>
     1:1:void <init>(com.android.tools.r8.dex.DexReader,com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.InternalOptions):126:126 -> <init>
     2:22:void <init>(com.android.tools.r8.dex.DexReader,com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.InternalOptions):115:135 -> <init>
@@ -13423,138 +13410,133 @@
     82:126:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
     82:126:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):628 -> a
     127:135:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):628:636 -> a
-    136:143:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):647:654 -> a
+    136:143:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):646:653 -> a
     144:188:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    144:188:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):654 -> a
-    189:189:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):655:655 -> a
+    144:188:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):653 -> a
+    189:189:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):654:654 -> a
     190:234:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    190:234:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):655 -> a
-    235:236:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):655:656 -> a
+    190:234:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):654 -> a
+    235:236:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):654:655 -> a
     237:281:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    237:281:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):656 -> a
+    237:281:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):655 -> a
     282:296:void ensureCodesInited(int):143:157 -> a
-    282:296:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    282:296:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     297:297:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
     297:297:void ensureCodesInited(int):157 -> a
-    297:297:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    297:297:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     298:299:void ensureCodesInited(int):158:159 -> a
-    298:299:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    298:299:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     300:393:void com.android.tools.r8.dex.BinaryReader.align(int):0:93 -> a
     300:393:void ensureCodesInited(int):159 -> a
-    300:393:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    394:406:com.android.tools.r8.graph.DexCode parseCodeItem():865:877 -> a
+    300:393:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    394:406:com.android.tools.r8.graph.DexCode parseCodeItem():854:866 -> a
     394:406:void ensureCodesInited(int):160 -> a
-    394:406:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    394:406:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     407:407:short com.android.tools.r8.dex.BinaryReader.getShort():68:68 -> a
-    407:407:com.android.tools.r8.graph.DexCode parseCodeItem():877 -> a
+    407:407:com.android.tools.r8.graph.DexCode parseCodeItem():866 -> a
     407:407:void ensureCodesInited(int):160 -> a
-    407:407:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    408:423:com.android.tools.r8.graph.DexCode parseCodeItem():877:892 -> a
+    407:407:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    408:423:com.android.tools.r8.graph.DexCode parseCodeItem():866:881 -> a
     408:423:void ensureCodesInited(int):160 -> a
-    408:423:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    408:423:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     424:424:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
-    424:424:com.android.tools.r8.graph.DexCode parseCodeItem():892 -> a
+    424:424:com.android.tools.r8.graph.DexCode parseCodeItem():881 -> a
     424:424:void ensureCodesInited(int):160 -> a
-    424:424:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    425:425:com.android.tools.r8.graph.DexCode parseCodeItem():894:894 -> a
+    424:424:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    425:425:com.android.tools.r8.graph.DexCode parseCodeItem():883:883 -> a
     425:425:void ensureCodesInited(int):160 -> a
-    425:425:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    425:425:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     426:470:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    426:470:com.android.tools.r8.graph.DexCode parseCodeItem():894 -> a
+    426:470:com.android.tools.r8.graph.DexCode parseCodeItem():883 -> a
     426:470:void ensureCodesInited(int):160 -> a
-    426:470:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    471:475:com.android.tools.r8.graph.DexCode parseCodeItem():895:899 -> a
+    426:470:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    471:475:com.android.tools.r8.graph.DexCode parseCodeItem():884:888 -> a
     471:475:void ensureCodesInited(int):160 -> a
-    471:475:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    471:475:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     476:476:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
-    476:476:com.android.tools.r8.graph.DexCode parseCodeItem():899 -> a
+    476:476:com.android.tools.r8.graph.DexCode parseCodeItem():888 -> a
     476:476:void ensureCodesInited(int):160 -> a
-    476:476:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    477:479:com.android.tools.r8.graph.DexCode parseCodeItem():900:902 -> a
+    476:476:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    477:479:com.android.tools.r8.graph.DexCode parseCodeItem():889:891 -> a
     477:479:void ensureCodesInited(int):160 -> a
-    477:479:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    477:479:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     480:528:int com.android.tools.r8.dex.BinaryReader.getSleb128():0:48 -> a
-    480:528:com.android.tools.r8.graph.DexCode parseCodeItem():902 -> a
+    480:528:com.android.tools.r8.graph.DexCode parseCodeItem():891 -> a
     480:528:void ensureCodesInited(int):160 -> a
-    480:528:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    529:533:com.android.tools.r8.graph.DexCode parseCodeItem():903:907 -> a
+    480:528:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    529:533:com.android.tools.r8.graph.DexCode parseCodeItem():892:896 -> a
     529:533:void ensureCodesInited(int):160 -> a
-    529:533:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    529:533:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     534:578:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    534:578:com.android.tools.r8.graph.DexCode parseCodeItem():907 -> a
+    534:578:com.android.tools.r8.graph.DexCode parseCodeItem():896 -> a
     534:578:void ensureCodesInited(int):160 -> a
-    534:578:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    579:579:com.android.tools.r8.graph.DexCode parseCodeItem():908:908 -> a
+    534:578:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    579:579:com.android.tools.r8.graph.DexCode parseCodeItem():897:897 -> a
     579:579:void ensureCodesInited(int):160 -> a
-    579:579:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    579:579:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     580:624:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    580:624:com.android.tools.r8.graph.DexCode parseCodeItem():908 -> a
+    580:624:com.android.tools.r8.graph.DexCode parseCodeItem():897 -> a
     580:624:void ensureCodesInited(int):160 -> a
-    580:624:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    625:629:com.android.tools.r8.graph.DexCode parseCodeItem():909:913 -> a
+    580:624:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    625:629:com.android.tools.r8.graph.DexCode parseCodeItem():898:902 -> a
     625:629:void ensureCodesInited(int):160 -> a
-    625:629:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    625:629:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     630:674:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    630:674:com.android.tools.r8.graph.DexCode parseCodeItem():913 -> a
+    630:674:com.android.tools.r8.graph.DexCode parseCodeItem():902 -> a
     630:674:void ensureCodesInited(int):160 -> a
-    630:674:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    675:678:com.android.tools.r8.graph.DexCode parseCodeItem():915:918 -> a
+    630:674:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    675:678:com.android.tools.r8.graph.DexCode parseCodeItem():904:907 -> a
     675:678:void ensureCodesInited(int):160 -> a
-    675:678:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    675:678:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     679:679:void com.android.tools.r8.graph.DexCode$Try.setHandlerIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):478:478 -> a
-    679:679:com.android.tools.r8.graph.DexCode parseCodeItem():919 -> a
+    679:679:com.android.tools.r8.graph.DexCode parseCodeItem():908 -> a
     679:679:void ensureCodesInited(int):160 -> a
-    679:679:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    680:680:com.android.tools.r8.graph.DexCode parseCodeItem():924:924 -> a
+    679:679:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    680:680:com.android.tools.r8.graph.DexCode parseCodeItem():913:913 -> a
     680:680:void ensureCodesInited(int):160 -> a
-    680:680:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    680:680:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     681:681:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
-    681:681:com.android.tools.r8.graph.DexCode parseCodeItem():924 -> a
+    681:681:com.android.tools.r8.graph.DexCode parseCodeItem():913 -> a
     681:681:void ensureCodesInited(int):160 -> a
-    681:681:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    682:687:com.android.tools.r8.graph.DexCode parseCodeItem():925:930 -> a
+    681:681:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    682:687:com.android.tools.r8.graph.DexCode parseCodeItem():914:919 -> a
     682:687:void ensureCodesInited(int):160 -> a
-    682:687:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
+    682:687:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
     688:689:void ensureCodesInited(int):161:162 -> a
-    688:689:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):659 -> a
-    690:703:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):660:673 -> a
-    704:704:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    704:704:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):673 -> a
-    705:708:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean,boolean):673:676 -> a
-    709:728:void addClassDefsTo(java.util.function.Consumer):682:701 -> a
-    729:729:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
-    729:729:void addClassDefsTo(java.util.function.Consumer):701 -> a
-    730:730:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
-    730:730:void addClassDefsTo(java.util.function.Consumer):701 -> a
-    731:733:void addClassDefsTo(java.util.function.Consumer):703:705 -> a
-    734:734:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
-    734:734:void addClassDefsTo(java.util.function.Consumer):705 -> a
-    735:737:void addClassDefsTo(java.util.function.Consumer):705:707 -> a
-    738:738:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
-    738:738:void addClassDefsTo(java.util.function.Consumer):707 -> a
-    739:776:void addClassDefsTo(java.util.function.Consumer):707:744 -> a
-    777:821:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    777:821:void addClassDefsTo(java.util.function.Consumer):744 -> a
-    822:822:void addClassDefsTo(java.util.function.Consumer):745:745 -> a
-    823:867:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    823:867:void addClassDefsTo(java.util.function.Consumer):745 -> a
-    868:868:void addClassDefsTo(java.util.function.Consumer):746:746 -> a
-    869:913:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    869:913:void addClassDefsTo(java.util.function.Consumer):746 -> a
-    914:914:void addClassDefsTo(java.util.function.Consumer):747:747 -> a
-    915:959:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
-    915:959:void addClassDefsTo(java.util.function.Consumer):747 -> a
-    960:962:void addClassDefsTo(java.util.function.Consumer):749:749 -> a
-    964:972:void addClassDefsTo(java.util.function.Consumer):751:759 -> a
-    973:987:void addClassDefsTo(java.util.function.Consumer):753:767 -> a
-    988:1022:void addClassDefsTo(java.util.function.Consumer):761:795 -> a
-    1023:1042:void addClassDefsTo(java.util.function.Consumer):778:797 -> a
-    1043:1043:void addClassDefsTo(java.util.function.Consumer):723:723 -> a
-    1044:1044:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
-    1044:1044:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
-    1044:1044:void addClassDefsTo(java.util.function.Consumer):723 -> a
-    1045:1045:void addClassDefsTo(java.util.function.Consumer):723:723 -> a
-    1046:1046:long lambda$addClassDefsTo$0(java.lang.Long,com.android.tools.r8.graph.DexProgramClass):775:775 -> a
+    688:689:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):658 -> a
+    690:699:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):659:668 -> a
+    700:719:void addClassDefsTo(java.util.function.Consumer):675:694 -> a
+    720:720:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
+    720:720:void addClassDefsTo(java.util.function.Consumer):694 -> a
+    721:721:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
+    721:721:void addClassDefsTo(java.util.function.Consumer):694 -> a
+    722:724:void addClassDefsTo(java.util.function.Consumer):696:698 -> a
+    725:725:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
+    725:725:void addClassDefsTo(java.util.function.Consumer):698 -> a
+    726:728:void addClassDefsTo(java.util.function.Consumer):698:700 -> a
+    729:729:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
+    729:729:void addClassDefsTo(java.util.function.Consumer):700 -> a
+    730:767:void addClassDefsTo(java.util.function.Consumer):700:737 -> a
+    768:812:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
+    768:812:void addClassDefsTo(java.util.function.Consumer):737 -> a
+    813:813:void addClassDefsTo(java.util.function.Consumer):738:738 -> a
+    814:858:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
+    814:858:void addClassDefsTo(java.util.function.Consumer):738 -> a
+    859:859:void addClassDefsTo(java.util.function.Consumer):739:739 -> a
+    860:904:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
+    860:904:void addClassDefsTo(java.util.function.Consumer):739 -> a
+    905:905:void addClassDefsTo(java.util.function.Consumer):740:740 -> a
+    906:950:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> a
+    906:950:void addClassDefsTo(java.util.function.Consumer):740 -> a
+    951:953:void addClassDefsTo(java.util.function.Consumer):742:742 -> a
+    955:995:void addClassDefsTo(java.util.function.Consumer):744:784 -> a
+    996:1015:void addClassDefsTo(java.util.function.Consumer):767:786 -> a
+    1016:1016:void addClassDefsTo(java.util.function.Consumer):716:716 -> a
+    1017:1017:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
+    1017:1017:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
+    1017:1017:void addClassDefsTo(java.util.function.Consumer):716 -> a
+    1018:1018:void addClassDefsTo(java.util.function.Consumer):716:716 -> a
+    1019:1019:long lambda$addClassDefsTo$0(java.lang.Long,com.android.tools.r8.graph.DexProgramClass):764:764 -> a
     1:2:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():455:456 -> b
     3:3:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> b
     3:3:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():456 -> b
@@ -13656,7 +13638,7 @@
     141:144:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():312:315 -> f
     145:145:com.android.tools.r8.graph.DexEncodedArray encodedArrayAt(int):333:333 -> f
     1:1:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():329:329 -> g
-    2:8:com.android.tools.r8.dex.DexSection lookupSection(int):814:820 -> g
+    2:8:com.android.tools.r8.dex.DexSection lookupSection(int):803:809 -> g
     1:3:com.android.tools.r8.graph.DexTypeList typeListAt(int):176:178 -> h
     4:4:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():319:319 -> h
     5:49:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> h
@@ -13720,170 +13702,170 @@
     258:259:com.android.tools.r8.graph.DexValue parseEncodedValue():201:202 -> i
     260:261:com.android.tools.r8.graph.DexValue parseEncodedValue():195:196 -> i
     262:264:com.android.tools.r8.graph.DexValue parseEncodedValue():188:190 -> i
-    1:10:com.android.tools.r8.dex.DexSection[] parseMap():825:834 -> j
+    1:10:com.android.tools.r8.dex.DexSection[] parseMap():814:823 -> j
     11:11:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> j
-    11:11:com.android.tools.r8.dex.DexSection[] parseMap():834 -> j
-    12:12:com.android.tools.r8.dex.DexSection[] parseMap():847:847 -> j
-    13:16:com.android.tools.r8.dex.DexSection[] parseMap():835:838 -> j
+    11:11:com.android.tools.r8.dex.DexSection[] parseMap():823 -> j
+    12:12:com.android.tools.r8.dex.DexSection[] parseMap():836:836 -> j
+    13:16:com.android.tools.r8.dex.DexSection[] parseMap():824:827 -> j
     17:17:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> j
-    17:17:com.android.tools.r8.dex.DexSection[] parseMap():844 -> j
-    18:18:com.android.tools.r8.dex.DexSection[] parseMap():844:844 -> j
+    17:17:com.android.tools.r8.dex.DexSection[] parseMap():833 -> j
+    18:18:com.android.tools.r8.dex.DexSection[] parseMap():833:833 -> j
     19:19:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> j
     19:19:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> j
-    19:19:com.android.tools.r8.dex.DexSection[] parseMap():844 -> j
-    20:30:com.android.tools.r8.dex.DexSection[] parseMap():844:854 -> j
-    31:36:com.android.tools.r8.dex.DexSection[] parseMap():853:858 -> j
+    19:19:com.android.tools.r8.dex.DexSection[] parseMap():833 -> j
+    20:30:com.android.tools.r8.dex.DexSection[] parseMap():833:843 -> j
+    31:36:com.android.tools.r8.dex.DexSection[] parseMap():842:847 -> j
     37:37:void com.android.tools.r8.dex.DexSection.setEnd(int):0:0 -> j
-    37:37:com.android.tools.r8.dex.DexSection[] parseMap():858 -> j
-    38:38:com.android.tools.r8.dex.DexSection[] parseMap():860:860 -> j
+    37:37:com.android.tools.r8.dex.DexSection[] parseMap():847 -> j
+    38:38:com.android.tools.r8.dex.DexSection[] parseMap():849:849 -> j
     39:39:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> j
-    39:39:com.android.tools.r8.dex.DexSection[] parseMap():860 -> j
+    39:39:com.android.tools.r8.dex.DexSection[] parseMap():849 -> j
     40:40:void com.android.tools.r8.dex.DexSection.setEnd(int):0:0 -> j
-    40:40:com.android.tools.r8.dex.DexSection[] parseMap():860 -> j
-    1:8:void parseStringIDs():802:809 -> k
+    40:40:com.android.tools.r8.dex.DexSection[] parseMap():849 -> j
+    1:8:void parseStringIDs():791:798 -> k
     1:5:com.android.tools.r8.graph.DexTypeList parseTypeList():167:171 -> l
-    1:3:void populateStrings():946:948 -> m
-    1:3:void populateIndexTables():935 -> m
-    4:6:com.android.tools.r8.graph.DexString stringAt(int):1172:1174 -> m
-    4:6:void populateStrings():948 -> m
-    4:6:void populateIndexTables():935 -> m
+    1:3:void populateStrings():935:937 -> m
+    1:3:void populateIndexTables():924 -> m
+    4:6:com.android.tools.r8.graph.DexString stringAt(int):1161:1163 -> m
+    4:6:void populateStrings():937 -> m
+    4:6:void populateIndexTables():924 -> m
     7:51:int com.android.tools.r8.dex.BinaryReader.getUleb128():0:44 -> m
-    7:51:com.android.tools.r8.graph.DexString stringAt(int):1174 -> m
-    7:51:void populateStrings():948 -> m
-    7:51:void populateIndexTables():935 -> m
-    52:55:com.android.tools.r8.graph.DexString stringAt(int):1175:1178 -> m
-    52:55:void populateStrings():948 -> m
-    52:55:void populateIndexTables():935 -> m
+    7:51:com.android.tools.r8.graph.DexString stringAt(int):1163 -> m
+    7:51:void populateStrings():937 -> m
+    7:51:void populateIndexTables():924 -> m
+    52:55:com.android.tools.r8.graph.DexString stringAt(int):1164:1167 -> m
+    52:55:void populateStrings():937 -> m
+    52:55:void populateIndexTables():924 -> m
     56:56:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> m
-    56:56:com.android.tools.r8.graph.DexString stringAt(int):1178 -> m
-    56:56:void populateStrings():948 -> m
-    56:56:void populateIndexTables():935 -> m
-    57:59:com.android.tools.r8.graph.DexString stringAt(int):1179:1181 -> m
-    57:59:void populateStrings():948 -> m
-    57:59:void populateIndexTables():935 -> m
-    60:60:void populateStrings():948:948 -> m
-    60:60:void populateIndexTables():935 -> m
-    61:69:void populateChecksums():978:986 -> m
-    61:69:void populateIndexTables():936 -> m
-    70:71:void populateTypes():969:970 -> m
-    70:71:void populateIndexTables():937 -> m
-    72:91:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):995:1014 -> m
-    72:91:void populateTypes():970 -> m
-    72:91:void populateIndexTables():937 -> m
-    92:92:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1009:1009 -> m
-    92:92:void populateTypes():970 -> m
-    92:92:void populateIndexTables():937 -> m
-    93:95:void populateTypes():971:973 -> m
-    93:95:void populateIndexTables():937 -> m
-    96:102:com.android.tools.r8.graph.DexType typeAt(int):1185:1191 -> m
-    96:102:void populateTypes():973 -> m
-    96:102:void populateIndexTables():937 -> m
-    103:103:void populateTypes():973:973 -> m
-    103:103:void populateIndexTables():937 -> m
-    104:105:void populateFields():1023:1024 -> m
-    104:105:void populateIndexTables():938 -> m
-    106:141:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1039:1074 -> m
-    106:141:void populateFields():1024 -> m
-    106:141:void populateIndexTables():938 -> m
-    142:152:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1071:1081 -> m
-    142:152:void populateFields():1024 -> m
-    142:152:void populateIndexTables():938 -> m
-    153:157:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1078:1082 -> m
-    153:157:void populateFields():1024 -> m
-    153:157:void populateIndexTables():938 -> m
-    158:158:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1067:1067 -> m
-    158:158:void populateFields():1024 -> m
-    158:158:void populateIndexTables():938 -> m
-    159:161:void populateFields():1025:1027 -> m
-    159:161:void populateIndexTables():938 -> m
-    162:174:com.android.tools.r8.graph.DexField fieldAt(int):1195:1207 -> m
-    162:174:void populateFields():1027 -> m
-    162:174:void populateIndexTables():938 -> m
-    175:175:void populateFields():1027:1027 -> m
-    175:175:void populateIndexTables():938 -> m
-    176:179:void populateProtos():1093:1096 -> m
-    176:179:void populateIndexTables():939 -> m
-    180:192:com.android.tools.r8.graph.DexProto protoAt(int):1268:1280 -> m
-    180:192:void populateProtos():1096 -> m
-    180:192:void populateIndexTables():939 -> m
-    193:193:void populateProtos():1096:1096 -> m
-    193:193:void populateIndexTables():939 -> m
-    194:195:void populateMethods():1101:1102 -> m
-    194:195:void populateIndexTables():940 -> m
-    196:231:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1118:1153 -> m
-    196:231:void populateMethods():1102 -> m
-    196:231:void populateIndexTables():940 -> m
-    232:242:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1150:1160 -> m
-    232:242:void populateMethods():1102 -> m
-    232:242:void populateIndexTables():940 -> m
-    243:247:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1157:1161 -> m
-    243:247:void populateMethods():1102 -> m
-    243:247:void populateIndexTables():940 -> m
-    248:248:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1146:1146 -> m
-    248:248:void populateMethods():1102 -> m
-    248:248:void populateIndexTables():940 -> m
-    249:251:void populateMethods():1103:1105 -> m
-    249:251:void populateIndexTables():940 -> m
-    252:264:com.android.tools.r8.graph.DexMethod methodAt(int):1284:1296 -> m
-    252:264:void populateMethods():1105 -> m
-    252:264:void populateIndexTables():940 -> m
-    265:265:com.android.tools.r8.graph.DexMethod methodAt(int):1293:1293 -> m
-    265:265:void populateMethods():1105 -> m
-    265:265:void populateIndexTables():940 -> m
-    266:266:void populateMethods():1105:1105 -> m
-    266:266:void populateIndexTables():940 -> m
-    267:270:void populateMethodHandles():953:956 -> m
-    267:270:void populateIndexTables():941 -> m
-    271:298:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1211:1238 -> m
-    271:298:void populateMethodHandles():956 -> m
-    271:298:void populateIndexTables():941 -> m
-    299:299:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1234:1234 -> m
-    299:299:void populateMethodHandles():956 -> m
-    299:299:void populateIndexTables():941 -> m
-    300:316:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1226:1242 -> m
-    300:316:void populateMethodHandles():956 -> m
-    300:316:void populateIndexTables():941 -> m
-    317:317:void populateMethodHandles():956:956 -> m
-    317:317:void populateIndexTables():941 -> m
-    318:321:void populateCallSites():961:964 -> m
-    318:321:void populateIndexTables():942 -> m
-    322:339:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1247:1264 -> m
-    322:339:void populateCallSites():964 -> m
-    322:339:void populateIndexTables():942 -> m
-    340:340:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1259:1259 -> m
-    340:340:void populateCallSites():964 -> m
-    340:340:void populateIndexTables():942 -> m
-    341:341:void populateCallSites():964:964 -> m
-    341:341:void populateIndexTables():942 -> m
+    56:56:com.android.tools.r8.graph.DexString stringAt(int):1167 -> m
+    56:56:void populateStrings():937 -> m
+    56:56:void populateIndexTables():924 -> m
+    57:59:com.android.tools.r8.graph.DexString stringAt(int):1168:1170 -> m
+    57:59:void populateStrings():937 -> m
+    57:59:void populateIndexTables():924 -> m
+    60:60:void populateStrings():937:937 -> m
+    60:60:void populateIndexTables():924 -> m
+    61:69:void populateChecksums():967:975 -> m
+    61:69:void populateIndexTables():925 -> m
+    70:71:void populateTypes():958:959 -> m
+    70:71:void populateIndexTables():926 -> m
+    72:91:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):984:1003 -> m
+    72:91:void populateTypes():959 -> m
+    72:91:void populateIndexTables():926 -> m
+    92:92:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):998:998 -> m
+    92:92:void populateTypes():959 -> m
+    92:92:void populateIndexTables():926 -> m
+    93:95:void populateTypes():960:962 -> m
+    93:95:void populateIndexTables():926 -> m
+    96:102:com.android.tools.r8.graph.DexType typeAt(int):1174:1180 -> m
+    96:102:void populateTypes():962 -> m
+    96:102:void populateIndexTables():926 -> m
+    103:103:void populateTypes():962:962 -> m
+    103:103:void populateIndexTables():926 -> m
+    104:105:void populateFields():1012:1013 -> m
+    104:105:void populateIndexTables():927 -> m
+    106:141:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1028:1063 -> m
+    106:141:void populateFields():1013 -> m
+    106:141:void populateIndexTables():927 -> m
+    142:152:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1060:1070 -> m
+    142:152:void populateFields():1013 -> m
+    142:152:void populateIndexTables():927 -> m
+    153:157:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1067:1071 -> m
+    153:157:void populateFields():1013 -> m
+    153:157:void populateIndexTables():927 -> m
+    158:158:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1056:1056 -> m
+    158:158:void populateFields():1013 -> m
+    158:158:void populateIndexTables():927 -> m
+    159:161:void populateFields():1014:1016 -> m
+    159:161:void populateIndexTables():927 -> m
+    162:174:com.android.tools.r8.graph.DexField fieldAt(int):1184:1196 -> m
+    162:174:void populateFields():1016 -> m
+    162:174:void populateIndexTables():927 -> m
+    175:175:void populateFields():1016:1016 -> m
+    175:175:void populateIndexTables():927 -> m
+    176:179:void populateProtos():1082:1085 -> m
+    176:179:void populateIndexTables():928 -> m
+    180:192:com.android.tools.r8.graph.DexProto protoAt(int):1257:1269 -> m
+    180:192:void populateProtos():1085 -> m
+    180:192:void populateIndexTables():928 -> m
+    193:193:void populateProtos():1085:1085 -> m
+    193:193:void populateIndexTables():928 -> m
+    194:195:void populateMethods():1090:1091 -> m
+    194:195:void populateIndexTables():929 -> m
+    196:231:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1107:1142 -> m
+    196:231:void populateMethods():1091 -> m
+    196:231:void populateIndexTables():929 -> m
+    232:242:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1139:1149 -> m
+    232:242:void populateMethods():1091 -> m
+    232:242:void populateIndexTables():929 -> m
+    243:247:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1146:1150 -> m
+    243:247:void populateMethods():1091 -> m
+    243:247:void populateIndexTables():929 -> m
+    248:248:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1135:1135 -> m
+    248:248:void populateMethods():1091 -> m
+    248:248:void populateIndexTables():929 -> m
+    249:251:void populateMethods():1092:1094 -> m
+    249:251:void populateIndexTables():929 -> m
+    252:264:com.android.tools.r8.graph.DexMethod methodAt(int):1273:1285 -> m
+    252:264:void populateMethods():1094 -> m
+    252:264:void populateIndexTables():929 -> m
+    265:265:com.android.tools.r8.graph.DexMethod methodAt(int):1282:1282 -> m
+    265:265:void populateMethods():1094 -> m
+    265:265:void populateIndexTables():929 -> m
+    266:266:void populateMethods():1094:1094 -> m
+    266:266:void populateIndexTables():929 -> m
+    267:270:void populateMethodHandles():942:945 -> m
+    267:270:void populateIndexTables():930 -> m
+    271:298:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1200:1227 -> m
+    271:298:void populateMethodHandles():945 -> m
+    271:298:void populateIndexTables():930 -> m
+    299:299:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1223:1223 -> m
+    299:299:void populateMethodHandles():945 -> m
+    299:299:void populateIndexTables():930 -> m
+    300:316:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1215:1231 -> m
+    300:316:void populateMethodHandles():945 -> m
+    300:316:void populateIndexTables():930 -> m
+    317:317:void populateMethodHandles():945:945 -> m
+    317:317:void populateIndexTables():930 -> m
+    318:321:void populateCallSites():950:953 -> m
+    318:321:void populateIndexTables():931 -> m
+    322:339:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1236:1253 -> m
+    322:339:void populateCallSites():953 -> m
+    322:339:void populateIndexTables():931 -> m
+    340:340:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1248:1248 -> m
+    340:340:void populateCallSites():953 -> m
+    340:340:void populateIndexTables():931 -> m
+    341:341:void populateCallSites():953:953 -> m
+    341:341:void populateIndexTables():931 -> m
 com.android.tools.r8.dex.DexParser$1 -> com.android.tools.r8.dex.n$a:
 com.android.tools.r8.dex.DexParser$AnnotationsDirectory -> com.android.tools.r8.dex.n$b:
-    com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] NO_METHOD_ANNOTATIONS -> g
-    com.android.tools.r8.dex.DexParser$AnnotationsDirectory THE_EMPTY_ANNOTATIONS_DIRECTORY -> h
-    com.android.tools.r8.graph.DexAnnotationSet clazz -> a
-    com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] fields -> b
-    com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] NO_PARAMETER_ANNOTATIONS -> e
-    com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] NO_FIELD_ANNOTATIONS -> f
-    com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] methods -> c
-    com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parameters -> d
-    1:11:void <clinit>():1301:1311 -> <clinit>
-    1:5:void <init>(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[]):1323:1327 -> <init>
-    1:1:com.android.tools.r8.dex.DexParser$AnnotationsDirectory empty():1331:1331 -> a
+    com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] methods -> g
+    com.android.tools.r8.graph.DexAnnotationSet clazz -> e
+    com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] NO_FIELD_ANNOTATIONS -> b
+    com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parameters -> h
+    com.android.tools.r8.dex.DexParser$AnnotationsDirectory THE_EMPTY_ANNOTATIONS_DIRECTORY -> d
+    com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] NO_METHOD_ANNOTATIONS -> c
+    com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] fields -> f
+    com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] NO_PARAMETER_ANNOTATIONS -> a
+    1:11:void <clinit>():1290:1300 -> <clinit>
+    1:5:void <init>(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[]):1312:1316 -> <init>
+    1:1:com.android.tools.r8.dex.DexParser$AnnotationsDirectory empty():1320:1320 -> a
 com.android.tools.r8.dex.DexParser$AttributesAndAnnotations -> com.android.tools.r8.dex.n$c:
-    com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMethodAttribute -> b
-    java.util.List lazyAnnotations -> d
-    com.android.tools.r8.graph.DexAnnotationSet originalAnnotations -> a
-    java.util.List innerClasses -> c
-    boolean $assertionsDisabled -> e
-    1:1:void <clinit>():1335:1335 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):1361:1361 -> <init>
-    2:47:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):1338:1383 -> <init>
-    48:93:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):1382:1427 -> <init>
-    94:109:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):1422:1437 -> <init>
-    1:7:com.android.tools.r8.graph.DexAnnotationSet getAnnotations():1343:1349 -> a
-    8:10:void ensureAnnotations(int):1443:1445 -> a
-    11:12:void copyAnnotation(com.android.tools.r8.graph.DexAnnotation):1450:1451 -> a
-    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1357:1357 -> b
-    1:1:java.util.List getInnerClasses():1353:1353 -> c
+    com.android.tools.r8.graph.DexAnnotationSet originalAnnotations -> b
+    java.util.List lazyAnnotations -> e
+    java.util.List innerClasses -> d
+    com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMethodAttribute -> c
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():1324:1324 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):1350:1350 -> <init>
+    2:47:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):1327:1372 -> <init>
+    48:93:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):1371:1416 -> <init>
+    94:109:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):1411:1426 -> <init>
+    1:7:com.android.tools.r8.graph.DexAnnotationSet getAnnotations():1332:1338 -> a
+    8:10:void ensureAnnotations(int):1432:1434 -> a
+    11:12:void copyAnnotation(com.android.tools.r8.graph.DexAnnotation):1439:1440 -> a
+    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1346:1346 -> b
+    1:1:java.util.List getInnerClasses():1342:1342 -> c
 com.android.tools.r8.dex.DexParser$MemberAnnotationIterator -> com.android.tools.r8.dex.n$d:
     java.util.function.Supplier emptyValue -> c
     com.android.tools.r8.graph.DexMemberAnnotation[] annotations -> b
@@ -13919,10 +13901,10 @@
     8:8:void setByteOrder():83 -> h
     9:9:void setByteOrder():83:83 -> h
 com.android.tools.r8.dex.DexSection -> com.android.tools.r8.dex.p:
-    int length -> b
-    int offset -> c
-    boolean $assertionsDisabled -> d
-    int type -> a
+    int offset -> d
+    boolean $assertionsDisabled -> a
+    int type -> b
+    int length -> c
     1:1:void <clinit>():9:9 -> <clinit>
     1:5:void <init>(int,int,int,int):15:19 -> <init>
     java.lang.String typeName(int) -> a
@@ -13931,16 +13913,16 @@
     2:2:java.lang.String toString():83 -> toString
     3:3:java.lang.String toString():83:83 -> toString
 com.android.tools.r8.dex.FileWriter -> com.android.tools.r8.dex.r:
-    com.android.tools.r8.graph.ObjectToOffsetMapping mapping -> a
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.utils.InternalOptions options -> d
-    java.util.Map staticFieldValues -> i
-    com.android.tools.r8.dex.MethodToCodeObjectMapping codeMapping -> b
-    com.android.tools.r8.dex.DexOutputBuffer dest -> f
-    com.android.tools.r8.dex.CodeToKeep desugaredLibraryCodeToKeep -> h
-    com.android.tools.r8.naming.NamingLens namingLens -> e
-    com.android.tools.r8.dex.FileWriter$MixedSectionOffsets mixedSectionOffsets -> g
-    com.android.tools.r8.graph.DexApplication application -> c
+    com.android.tools.r8.graph.ObjectToOffsetMapping mapping -> b
+    com.android.tools.r8.naming.NamingLens namingLens -> f
+    com.android.tools.r8.dex.FileWriter$MixedSectionOffsets mixedSectionOffsets -> h
+    com.android.tools.r8.utils.InternalOptions options -> e
+    com.android.tools.r8.dex.DexOutputBuffer dest -> g
+    java.util.Map staticFieldValues -> j
+    com.android.tools.r8.dex.CodeToKeep desugaredLibraryCodeToKeep -> i
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexApplication application -> d
+    com.android.tools.r8.dex.MethodToCodeObjectMapping codeMapping -> c
     1:1:void <clinit>():81:81 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.dex.MethodToCodeObjectMapping,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.CodeToKeep):113:113 -> <init>
     2:19:void <init>(com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.dex.MethodToCodeObjectMapping,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.CodeToKeep):104:121 -> <init>
@@ -14177,27 +14159,27 @@
     1:1:void <init>(com.android.tools.r8.dex.CompatByteBuffer,int,com.android.tools.r8.dex.FileWriter$1):84:84 -> <init>
     2:4:void <init>(com.android.tools.r8.dex.CompatByteBuffer,int):90:92 -> <init>
 com.android.tools.r8.dex.FileWriter$Layout -> com.android.tools.r8.dex.s:
-    int annotationSetsOffset -> n
-    int annotationSetRefListsOffset -> o
-    int stringDataOffsets -> l
-    int annotationsOffset -> m
-    int debugInfosOffset -> j
-    int typeListsOffset -> k
-    int dataSectionOffset -> h
-    int codesOffset -> i
-    boolean $assertionsDisabled -> u
-    int callSiteIdsOffset -> f
-    int methodHandleIdsOffset -> g
-    int methodIdsOffset -> d
-    int classDefsOffset -> e
-    int protoIdsOffset -> b
-    int fieldIdsOffset -> c
-    int typeIdsOffset -> a
-    int endOfFile -> t
-    int encodedArrarysOffset -> r
-    int mapOffset -> s
-    int annotationDirectoriesOffset -> p
-    int classDataOffset -> q
+    int annotationsOffset -> n
+    int annotationSetsOffset -> o
+    int typeListsOffset -> l
+    int stringDataOffsets -> m
+    int codesOffset -> j
+    int debugInfosOffset -> k
+    int methodHandleIdsOffset -> h
+    int dataSectionOffset -> i
+    int classDefsOffset -> f
+    int callSiteIdsOffset -> g
+    int fieldIdsOffset -> d
+    int methodIdsOffset -> e
+    int typeIdsOffset -> b
+    int protoIdsOffset -> c
+    int mapOffset -> t
+    int endOfFile -> u
+    boolean $assertionsDisabled -> a
+    int classDataOffset -> r
+    int encodedArrarysOffset -> s
+    int annotationSetRefListsOffset -> p
+    int annotationDirectoriesOffset -> q
     1:1:void <clinit>():858:858 -> <clinit>
     1:1:void <init>(int,int,int,int,int,int,int,int,int):890:890 -> <init>
     2:35:void <init>(int,int,int,int,int,int,int,int,int):874:907 -> <init>
@@ -14232,20 +14214,20 @@
     1:2:int getTypeListsOffset():955:956 -> m
     3:4:void setTypeListsOffset(int):960:961 -> m
 com.android.tools.r8.dex.FileWriter$MixedSectionOffsets -> com.android.tools.r8.dex.t:
-    boolean $assertionsDisabled -> n
-    int minApiLevel -> m
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap debugInfos -> c
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap typeLists -> d
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotations -> f
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap stringData -> e
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap codes -> b
-    com.android.tools.r8.dex.MethodToCodeObjectMapping codeMapping -> a
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationSets -> g
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationSetRefLists -> h
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationDirectories -> i
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap classesWithData -> j
-    java.util.Map clazzToAnnotationDirectory -> l
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap encodedArrays -> k
+    int minApiLevel -> n
+    java.util.Map clazzToAnnotationDirectory -> m
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap debugInfos -> d
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap typeLists -> e
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap codes -> c
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap stringData -> f
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotations -> g
+    com.android.tools.r8.dex.MethodToCodeObjectMapping codeMapping -> b
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationSets -> h
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationSetRefLists -> i
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationDirectories -> j
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap classesWithData -> k
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap encodedArrays -> l
     1:1:void <clinit>():1062:1062 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.dex.MethodToCodeObjectMapping,com.android.tools.r8.dex.FileWriter$1):1062:1062 -> <init>
     2:2:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.dex.MethodToCodeObjectMapping):1098:1098 -> <init>
@@ -14314,18 +14296,18 @@
     1:4:void visit(com.android.tools.r8.graph.DexClass):1375:1378 -> b
 com.android.tools.r8.dex.IndexedItemCollection -> com.android.tools.r8.dex.v:
 com.android.tools.r8.dex.InheritanceClassInDexDistributor -> com.android.tools.r8.dex.z:
-    com.android.tools.r8.dex.VirtualFile mainDex -> b
-    java.util.Comparator DEX_PROGRAM_CLASS_COMPARATOR -> k
-    com.android.tools.r8.dex.InheritanceClassInDexDistributor$DirectSubClassesInfo directSubClasses -> j
-    com.android.tools.r8.graph.InitClassLens initClassLens -> h
-    java.util.Set classes -> e
-    boolean $assertionsDisabled -> l
-    java.util.List dexes -> c
-    int dexIndexOffset -> g
-    java.util.concurrent.ExecutorService executorService -> a
-    java.util.BitSet fullDex -> d
-    com.android.tools.r8.graph.DexApplication app -> f
-    com.android.tools.r8.naming.NamingLens namingLens -> i
+    java.util.Set classes -> g
+    java.util.BitSet fullDex -> f
+    java.util.List dexes -> e
+    com.android.tools.r8.graph.InitClassLens initClassLens -> j
+    com.android.tools.r8.dex.VirtualFile mainDex -> d
+    int dexIndexOffset -> i
+    com.android.tools.r8.dex.InheritanceClassInDexDistributor$DirectSubClassesInfo directSubClasses -> l
+    com.android.tools.r8.graph.DexApplication app -> h
+    boolean $assertionsDisabled -> b
+    java.util.concurrent.ExecutorService executorService -> c
+    com.android.tools.r8.naming.NamingLens namingLens -> k
+    java.util.Comparator DEX_PROGRAM_CLASS_COMPARATOR -> a
     1:3:void <clinit>():44:46 -> <clinit>
     1:1:void <init>(com.android.tools.r8.dex.VirtualFile,java.util.List,java.util.Set,int,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):299:299 -> <init>
     2:28:void <init>(com.android.tools.r8.dex.VirtualFile,java.util.List,java.util.Set,int,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):283:309 -> <init>
@@ -14359,7 +14341,7 @@
     102:102:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):452 -> a
     103:106:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):455:458 -> a
     107:107:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):447:447 -> a
-    108:108:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
+    108:108:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
     108:108:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):448 -> a
     109:109:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):448:448 -> a
     110:110:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
@@ -14405,7 +14387,7 @@
     107:107:void markDexFull(com.android.tools.r8.dex.VirtualFile):721:721 -> b
     107:107:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648 -> b
     108:108:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):642:642 -> b
-    109:109:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> b
+    109:109:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> b
     109:109:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):643 -> b
     110:110:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):643:643 -> b
     111:111:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
@@ -14420,11 +14402,11 @@
     1:1:com.android.tools.r8.dex.VirtualFile access$400(com.android.tools.r8.dex.InheritanceClassInDexDistributor):44:44 -> c
     1:1:com.android.tools.r8.graph.DexApplication access$500(com.android.tools.r8.dex.InheritanceClassInDexDistributor):44:44 -> d
 com.android.tools.r8.dex.InheritanceClassInDexDistributor$CategorizedInheritanceGroupWithMainDexDependency -> com.android.tools.r8.dex.w:
-    com.android.tools.r8.dex.InheritanceClassInDexDistributor this$0 -> d
-    java.util.Set dependentsOfMainDexIndependents -> c
-    boolean $assertionsDisabled -> e
-    java.util.Set mainDexIndependents -> a
-    java.util.Set independentsFromMainDexIndependents -> b
+    com.android.tools.r8.dex.InheritanceClassInDexDistributor this$0 -> e
+    java.util.Set independentsFromMainDexIndependents -> c
+    java.util.Set dependentsOfMainDexIndependents -> d
+    java.util.Set mainDexIndependents -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():125:125 -> <clinit>
     1:1:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):134:134 -> <init>
     2:30:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):128:156 -> <init>
@@ -14433,12 +14415,12 @@
     13:28:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):177:192 -> a
     29:56:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):204:231 -> a
 com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup -> com.android.tools.r8.dex.x:
-    com.android.tools.r8.dex.InheritanceClassInDexDistributor this$0 -> e
-    boolean $assertionsDisabled -> f
-    java.util.Set members -> a
-    int numberOfFieldIds -> b
-    int numberOfMethodIds -> c
-    boolean dependsOnMainDexClasses -> d
+    com.android.tools.r8.dex.InheritanceClassInDexDistributor this$0 -> f
+    boolean dependsOnMainDexClasses -> e
+    int numberOfMethodIds -> d
+    java.util.Set members -> b
+    boolean $assertionsDisabled -> a
+    int numberOfFieldIds -> c
     1:1:void <clinit>():55:55 -> <clinit>
     1:1:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor):62:62 -> <init>
     2:7:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor):58:63 -> <init>
@@ -14453,25 +14435,25 @@
     26:29:int compareTo(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):108:111 -> compareTo
     26:29:int compareTo(java.lang.Object):55 -> compareTo
 com.android.tools.r8.dex.InheritanceClassInDexDistributor$DirectSubClassesInfo -> com.android.tools.r8.dex.y:
-    java.util.Map directSubClasses -> a
-    java.util.Set classes -> b
-    boolean $assertionsDisabled -> c
+    java.util.Map directSubClasses -> b
+    java.util.Set classes -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():242:242 -> <clinit>
     1:11:void <init>(com.android.tools.r8.graph.DexApplication,java.util.Set):247:257 -> <init>
     1:2:java.util.Collection getDirectSubClasses(com.android.tools.r8.graph.DexProgramClass):261:262 -> a
     3:8:void addDirectSubClass(com.android.tools.r8.graph.DexApplication,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):270:275 -> a
     1:1:java.util.Collection lambda$addDirectSubClass$0(com.android.tools.r8.graph.DexProgramClass):274:274 -> b
 com.android.tools.r8.dex.JumboStringRewriter -> com.android.tools.r8.dex.A:
-    com.android.tools.r8.graph.DexItemFactory factory -> c
-    com.android.tools.r8.graph.DexString firstJumboString -> b
-    java.util.Map instructionTargets -> d
-    com.android.tools.r8.graph.DexEncodedMethod method -> a
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap tryRangeStartAndEndTargets -> h
-    java.util.Map handlerTargets -> i
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap debugEventTargets -> e
-    java.util.Map payloadToSwitch -> f
-    java.util.Map tryTargets -> g
+    com.android.tools.r8.graph.DexItemFactory factory -> d
+    com.android.tools.r8.graph.DexString firstJumboString -> c
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap tryRangeStartAndEndTargets -> i
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap debugEventTargets -> f
+    java.util.Map handlerTargets -> j
+    com.android.tools.r8.graph.DexEncodedMethod method -> b
+    boolean $assertionsDisabled -> a
+    java.util.Map instructionTargets -> e
+    java.util.Map payloadToSwitch -> g
+    java.util.Map tryTargets -> h
     1:1:void <clinit>():55:55 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):104:104 -> <init>
     2:15:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):94:107 -> <init>
@@ -14534,22 +14516,22 @@
     422:434:com.android.tools.r8.graph.DexCode rewrite():123:135 -> a
     com.android.tools.r8.code.Instruction lambda$replaceTarget$1(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction) -> b
 com.android.tools.r8.dex.JumboStringRewriter$TryTargets -> com.android.tools.r8.dex.A$a:
-    com.android.tools.r8.code.Instruction start -> a
-    com.android.tools.r8.code.Instruction end -> b
-    boolean endsAfterLastInstruction -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.code.Instruction start -> b
+    com.android.tools.r8.code.Instruction end -> c
+    boolean $assertionsDisabled -> a
+    boolean endsAfterLastInstruction -> d
     1:1:void <clinit>():57:57 -> <clinit>
     1:6:void <init>(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,boolean):62:67 -> <init>
     1:5:void replaceTarget(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):71:75 -> a
     6:6:int getStartOffset():80:80 -> a
     1:4:int getStartToEndDelta():84:87 -> b
 com.android.tools.r8.dex.Marker -> com.android.tools.r8.dex.B:
-    com.android.tools.r8.dex.Marker$Tool tool -> b
-    boolean $assertionsDisabled -> f
-    java.lang.String D8_PREFIX -> c
-    java.lang.String L8_PREFIX -> e
-    com.android.tools.r8.com.google.gson.JsonObject jsonObject -> a
-    java.lang.String R8_PREFIX -> d
+    com.android.tools.r8.com.google.gson.JsonObject jsonObject -> e
+    com.android.tools.r8.dex.Marker$Tool tool -> f
+    java.lang.String D8_PREFIX -> a
+    java.lang.String L8_PREFIX -> c
+    java.lang.String R8_PREFIX -> b
+    boolean $assertionsDisabled -> d
     1:28:void <clinit>():21:48 -> <clinit>
     1:1:void <init>(com.android.tools.r8.dex.Marker$Tool):54:54 -> <init>
     2:4:void <init>(com.android.tools.r8.dex.Marker$Tool,com.android.tools.r8.com.google.gson.JsonObject):57:59 -> <init>
@@ -14597,8 +14579,8 @@
     com.android.tools.r8.graph.DexCode getCode(com.android.tools.r8.graph.DexEncodedMethod) -> a
     boolean verifyCodeObjects(java.util.Collection) -> a
 com.android.tools.r8.dex.MethodToCodeObjectMapping$MapBacking -> com.android.tools.r8.dex.C:
-    java.util.Map codes -> a
-    boolean $assertionsDisabled -> b
+    java.util.Map codes -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():53:53 -> <clinit>
     1:2:void <init>(java.util.Map):57:58 -> <init>
     1:1:com.android.tools.r8.graph.DexCode getCode(com.android.tools.r8.graph.DexEncodedMethod):63:63 -> a
@@ -14628,11 +14610,11 @@
     1:1:void visit(com.android.tools.r8.graph.DexEncodedMethod):63 -> a
     2:2:void visit(com.android.tools.r8.graph.DexEncodedMethod):62:62 -> a
 com.android.tools.r8.dex.ResourceAdapter -> com.android.tools.r8.dex.M:
-    com.android.tools.r8.naming.NamingLens namingLense -> c
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.GraphLense graphLense -> b
-    com.android.tools.r8.utils.InternalOptions options -> d
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
+    com.android.tools.r8.graph.GraphLense graphLense -> c
+    com.android.tools.r8.utils.InternalOptions options -> e
+    com.android.tools.r8.naming.NamingLens namingLense -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():30:30 -> <clinit>
     1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):43:48 -> <init>
     1:1:com.android.tools.r8.graph.DexItemFactory access$000(com.android.tools.r8.dex.ResourceAdapter):30:30 -> a
@@ -14686,14 +14668,14 @@
     1:1:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof(int):335:335 -> b
     1:1:boolean isRenamingCandidate(int,int):434 -> b
 com.android.tools.r8.dex.ResourceAdapter$StringAdapter -> com.android.tools.r8.dex.L:
-    java.lang.StringBuilder result -> b
-    java.lang.String contents -> a
-    int outputFrom -> d
-    com.android.tools.r8.dex.ResourceAdapter this$0 -> g
-    boolean $assertionsDisabled -> h
-    int position -> e
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntStack prefixEndPositionsExclusive -> f
-    boolean changed -> c
+    int position -> f
+    com.android.tools.r8.dex.ResourceAdapter this$0 -> h
+    int outputFrom -> e
+    boolean $assertionsDisabled -> a
+    java.lang.String contents -> b
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntStack prefixEndPositionsExclusive -> g
+    java.lang.StringBuilder result -> c
+    boolean changed -> d
     1:1:void <clinit>():141:141 -> <clinit>
     1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):164:164 -> <init>
     2:24:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):144:166 -> <init>
@@ -14782,8 +14764,8 @@
     60:60:void parseDexFiles():53 -> b
     61:61:void parseDexFiles():53:53 -> b
 com.android.tools.r8.dex.VDexReader -> com.android.tools.r8.dex.O:
-    boolean $assertionsDisabled -> e
-    int version -> d
+    int version -> e
+    boolean $assertionsDisabled -> d
     1:1:void <clinit>():22:22 -> <clinit>
     1:4:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):27:30 -> <init>
     1:3:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):41:43 -> a
@@ -14810,12 +14792,12 @@
     15:15:void setByteOrder():87 -> g
     16:16:void setByteOrder():87:87 -> g
 com.android.tools.r8.dex.VirtualFile -> com.android.tools.r8.dex.P:
-    com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection indexedItems -> b
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction transaction -> c
-    com.android.tools.r8.graph.DexProgramClass primaryClass -> e
-    com.android.tools.r8.FeatureSplit featureSplit -> d
-    int id -> a
+    com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection indexedItems -> c
+    com.android.tools.r8.graph.DexProgramClass primaryClass -> f
+    boolean $assertionsDisabled -> a
+    int id -> b
+    com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction transaction -> d
+    com.android.tools.r8.FeatureSplit featureSplit -> e
     1:1:void <clinit>():52:52 -> <clinit>
     1:1:void <init>(int,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.dex.VirtualFile$1):52:52 -> <init>
     2:2:void <init>(int,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):80:80 -> <init>
@@ -14867,11 +14849,11 @@
     2:6:void <init>(com.android.tools.r8.dex.ApplicationWriter):262:266 -> <init>
     java.util.List run() -> a
 com.android.tools.r8.dex.VirtualFile$DistributorBase -> com.android.tools.r8.dex.P$c:
-    com.android.tools.r8.dex.VirtualFile mainDexFile -> f
-    java.util.Set classes -> d
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.utils.InternalOptions options -> g
-    java.util.Map originalNames -> e
+    com.android.tools.r8.dex.VirtualFile mainDexFile -> g
+    java.util.Set classes -> e
+    com.android.tools.r8.utils.InternalOptions options -> h
+    java.util.Map originalNames -> f
+    boolean $assertionsDisabled -> d
     1:1:void <clinit>():317:317 -> <clinit>
     1:11:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions):324:334 -> <init>
     1:5:void addMarkers(com.android.tools.r8.dex.VirtualFile):338:342 -> a
@@ -14886,9 +14868,9 @@
     1:15:java.util.List run():289:303 -> a
     16:35:java.util.List run():294:313 -> a
 com.android.tools.r8.dex.VirtualFile$FillFilesDistributor -> com.android.tools.r8.dex.P$e:
-    com.android.tools.r8.dex.VirtualFile$FillStrategy fillStrategy -> i
-    java.util.concurrent.ExecutorService executorService -> j
-    boolean $assertionsDisabled -> k
+    boolean $assertionsDisabled -> i
+    java.util.concurrent.ExecutorService executorService -> k
+    com.android.tools.r8.dex.VirtualFile$FillStrategy fillStrategy -> j
     1:1:void <clinit>():467:467 -> <clinit>
     1:3:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):473:475 -> <init>
     1:3:java.util.List run():480:482 -> a
@@ -14910,18 +14892,18 @@
     1:4:void <clinit>():57:60 -> <clinit>
     1:1:void <init>(java.lang.String,int):55:55 -> <init>
 com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction -> com.android.tools.r8.dex.P$g:
-    java.util.Set types -> g
-    java.util.Set protos -> h
-    java.util.Set strings -> i
-    java.util.Set callSites -> j
-    com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection base -> a
-    com.android.tools.r8.naming.NamingLens namingLens -> c
-    java.util.Set classes -> d
-    java.util.Set fields -> e
-    boolean $assertionsDisabled -> l
-    java.util.Set methods -> f
-    java.util.Set methodHandles -> k
-    com.android.tools.r8.graph.InitClassLens initClassLens -> b
+    java.util.Set methods -> g
+    java.util.Set types -> h
+    java.util.Set protos -> i
+    java.util.Set strings -> j
+    com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection base -> b
+    java.util.Set classes -> e
+    java.util.Set fields -> f
+    com.android.tools.r8.naming.NamingLens namingLens -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.InitClassLens initClassLens -> c
+    java.util.Set callSites -> k
+    java.util.Set methodHandles -> l
     1:1:void <clinit>():654:654 -> <clinit>
     1:1:void <init>(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.VirtualFile$1):654:654 -> <init>
     2:2:void <init>(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):670:670 -> <init>
@@ -14955,12 +14937,12 @@
     10:10:java.util.List run():554 -> a
     11:11:java.util.List run():557:557 -> a
 com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator -> com.android.tools.r8.dex.P$i:
-    java.util.List classes -> a
-    java.util.Map originalNames -> b
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
-    com.android.tools.r8.dex.VirtualFile$FillStrategy fillStrategy -> d
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.dex.VirtualFile$VirtualFileCycler cycler -> e
+    java.util.List classes -> b
+    com.android.tools.r8.dex.VirtualFile$FillStrategy fillStrategy -> e
+    java.util.Map originalNames -> c
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.dex.VirtualFile$VirtualFileCycler cycler -> f
     1:1:void <clinit>():904:904 -> <clinit>
     1:6:void <init>(java.util.List,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.dex.VirtualFile$FillStrategy,int,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):932:937 -> <init>
     1:5:java.util.Map call():962:966 -> a
@@ -14997,14 +14979,14 @@
     153:153:com.android.tools.r8.dex.VirtualFile getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1082:1082 -> a
     1:1:java.lang.Object call():904:904 -> call
 com.android.tools.r8.dex.VirtualFile$VirtualFileCycler -> com.android.tools.r8.dex.P$j:
-    java.util.List files -> a
-    java.util.Iterator activeFiles -> f
-    java.util.Iterator allFilesCyclic -> e
-    com.android.tools.r8.FeatureSplit featuresplit -> g
-    com.android.tools.r8.naming.NamingLens namingLens -> c
-    int nextFileId -> d
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.graph.InitClassLens initClassLens -> b
+    java.util.List files -> b
+    com.android.tools.r8.FeatureSplit featuresplit -> h
+    java.util.Iterator allFilesCyclic -> f
+    com.android.tools.r8.naming.NamingLens namingLens -> d
+    int nextFileId -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.InitClassLens initClassLens -> c
+    java.util.Iterator activeFiles -> g
     1:1:void <clinit>():806:806 -> <clinit>
     1:11:void <init>(java.util.List,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,int):821:831 -> <init>
     1:1:boolean hasNext():840:840 -> a
@@ -15019,17 +15001,17 @@
     1:2:void reset():835:836 -> d
     1:1:void restart():882:882 -> e
 com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection -> com.android.tools.r8.dex.P$k:
-    java.util.Set fields -> g
-    java.util.Set strings -> h
-    java.util.Set callSites -> i
-    java.util.Set methodHandles -> j
-    com.android.tools.r8.naming.NamingLens namingLens -> b
-    java.util.Set classes -> c
-    java.util.Set protos -> d
-    boolean $assertionsDisabled -> k
-    java.util.Set types -> e
-    java.util.Set methods -> f
-    com.android.tools.r8.graph.InitClassLens initClassLens -> a
+    java.util.Set methods -> g
+    java.util.Set fields -> h
+    java.util.Set strings -> i
+    java.util.Set callSites -> j
+    com.android.tools.r8.naming.NamingLens namingLens -> c
+    java.util.Set classes -> d
+    java.util.Set protos -> e
+    java.util.Set types -> f
+    boolean $assertionsDisabled -> a
+    java.util.Set methodHandles -> k
+    com.android.tools.r8.graph.InitClassLens initClassLens -> b
     1:1:void <clinit>():561:561 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):575:575 -> <init>
     2:13:void <init>(com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):566:577 -> <init>
@@ -15173,8 +15155,8 @@
     1:1:int getConstantPoolSize():28:28 -> getConstantPoolSize
     1:5:java.lang.String getDiagnosticMessage():33:37 -> getDiagnosticMessage
 com.android.tools.r8.errors.DefaultInterfaceMethodDiagnostic -> com.android.tools.r8.errors.c:
-    com.android.tools.r8.position.MethodPosition position -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.position.MethodPosition position -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:3:void <init>(com.android.tools.r8.position.MethodPosition):15:17 -> <init>
     1:3:java.lang.String getDiagnosticMessage():27:27 -> getDiagnosticMessage
@@ -15190,9 +15172,9 @@
     1:1:com.android.tools.r8.origin.Origin getOrigin():60:60 -> getOrigin
     1:1:boolean hasMainDexSpecification():54:54 -> hasMainDexSpecification
 com.android.tools.r8.errors.DuplicateTypesDiagnostic -> com.android.tools.r8.errors.DuplicateTypesDiagnostic:
-    com.android.tools.r8.references.ClassReference type -> a
-    java.util.Collection origins -> b
-    boolean $assertionsDisabled -> c
+    java.util.Collection origins -> c
+    com.android.tools.r8.references.ClassReference type -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:5:void <init>(com.android.tools.r8.references.ClassReference,java.util.Collection):21:25 -> <init>
     1:2:java.lang.String getDiagnosticMessage():66:67 -> getDiagnosticMessage
@@ -15203,12 +15185,12 @@
 com.android.tools.r8.errors.IncompleteNestNestDesugarDiagnosic -> com.android.tools.r8.errors.IncompleteNestNestDesugarDiagnosic:
     1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):15:15 -> <init>
 com.android.tools.r8.errors.InterfaceDesugarMissingTypeDiagnostic -> com.android.tools.r8.errors.InterfaceDesugarMissingTypeDiagnostic:
-    com.android.tools.r8.references.ClassReference implementingContextType -> e
-    com.android.tools.r8.origin.Origin origin -> a
-    com.android.tools.r8.references.ClassReference missingType -> c
-    com.android.tools.r8.position.Position position -> b
-    com.android.tools.r8.references.ClassReference contextType -> d
-    boolean $assertionsDisabled -> f
+    com.android.tools.r8.references.ClassReference contextType -> e
+    com.android.tools.r8.references.ClassReference implementingContextType -> f
+    com.android.tools.r8.origin.Origin origin -> b
+    com.android.tools.r8.position.Position position -> c
+    com.android.tools.r8.references.ClassReference missingType -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():14:14 -> <clinit>
     1:11:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference):31:41 -> <init>
     1:1:com.android.tools.r8.references.ClassReference getContextType():63:63 -> getContextType
@@ -15226,12 +15208,12 @@
 com.android.tools.r8.errors.InvalidDescriptorException -> com.android.tools.r8.errors.f:
     1:1:void <init>(java.lang.String):8:8 -> <init>
 com.android.tools.r8.errors.InvalidLibrarySuperclassDiagnostic -> com.android.tools.r8.errors.InvalidLibrarySuperclassDiagnostic:
-    java.util.List methods -> b
-    com.android.tools.r8.origin.Origin origin -> a
-    com.android.tools.r8.references.ClassReference libraryType -> c
-    com.android.tools.r8.references.ClassReference invalidSuperType -> d
-    boolean $assertionsDisabled -> f
-    java.lang.String message -> e
+    com.android.tools.r8.references.ClassReference invalidSuperType -> e
+    java.lang.String message -> f
+    com.android.tools.r8.origin.Origin origin -> b
+    java.util.List methods -> c
+    com.android.tools.r8.references.ClassReference libraryType -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():19:19 -> <clinit>
     1:10:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference,java.lang.String,java.util.List):33:42 -> <init>
     1:13:java.lang.String getDiagnosticMessage():57:69 -> getDiagnosticMessage
@@ -15251,15 +15233,15 @@
     1:1:com.android.tools.r8.origin.Origin getOrigin():26:26 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():31:31 -> getPosition
 com.android.tools.r8.errors.PrivateInterfaceMethodDiagnostic -> com.android.tools.r8.errors.h:
-    com.android.tools.r8.position.MethodPosition position -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.position.MethodPosition position -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:3:void <init>(com.android.tools.r8.position.MethodPosition):15:17 -> <init>
     1:3:java.lang.String getDiagnosticMessage():27:27 -> getDiagnosticMessage
     1:1:com.android.tools.r8.position.Position getPosition():22:22 -> getPosition
 com.android.tools.r8.errors.StaticInterfaceMethodDiagnostic -> com.android.tools.r8.errors.i:
-    com.android.tools.r8.position.MethodPosition position -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.position.MethodPosition position -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:3:void <init>(com.android.tools.r8.position.MethodPosition):15:17 -> <init>
     1:3:java.lang.String getDiagnosticMessage():27:27 -> getDiagnosticMessage
@@ -15279,8 +15261,8 @@
     1:1:int hashCode():31:31 -> hashCode
     1:1:java.lang.String toString():36:36 -> toString
 com.android.tools.r8.experimental.graphinfo.ClassGraphNode -> com.android.tools.r8.experimental.graphinfo.ClassGraphNode:
-    com.android.tools.r8.references.ClassReference reference -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.references.ClassReference reference -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():9:9 -> <clinit>
     1:3:void <init>(boolean,com.android.tools.r8.references.ClassReference):15:17 -> <init>
     1:1:boolean equals(java.lang.Object):26:26 -> equals
@@ -15288,8 +15270,8 @@
     1:1:int hashCode():32:32 -> hashCode
     1:1:java.lang.String toString():37:37 -> toString
 com.android.tools.r8.experimental.graphinfo.FieldGraphNode -> com.android.tools.r8.experimental.graphinfo.FieldGraphNode:
-    com.android.tools.r8.references.FieldReference reference -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.references.FieldReference reference -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():9:9 -> <clinit>
     1:3:void <init>(boolean,com.android.tools.r8.references.FieldReference):15:17 -> <init>
     1:1:boolean equals(java.lang.Object):26:26 -> equals
@@ -15297,9 +15279,9 @@
     1:1:int hashCode():32:32 -> hashCode
     1:1:java.lang.String toString():37:37 -> toString
 com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo -> com.android.tools.r8.experimental.graphinfo.a:
-    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo UNKNOWN -> b
-    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind kind -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo UNKNOWN -> a
+    boolean $assertionsDisabled -> b
+    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind kind -> c
     1:3:void <clinit>():6:8 -> <clinit>
     1:2:void <init>(com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind):41:42 -> <init>
     1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():46:46 -> a
@@ -15335,8 +15317,8 @@
     1:1:void <init>(java.lang.String,int):15:15 -> <init>
     1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind[] values():15:15 -> a
 com.android.tools.r8.experimental.graphinfo.GraphNode -> com.android.tools.r8.experimental.graphinfo.GraphNode:
-    boolean isLibraryNode -> a
-    com.android.tools.r8.experimental.graphinfo.GraphNode CYCLE -> b
+    com.android.tools.r8.experimental.graphinfo.GraphNode CYCLE -> a
+    boolean isLibraryNode -> b
     1:1:void <clinit>():11:11 -> <clinit>
     1:2:void <init>(boolean):31:32 -> <init>
     1:1:com.android.tools.r8.experimental.graphinfo.GraphNode cycle():36:36 -> cycle
@@ -15345,11 +15327,11 @@
 com.android.tools.r8.experimental.graphinfo.GraphNode$1 -> com.android.tools.r8.experimental.graphinfo.GraphNode$a:
     1:1:void <init>(boolean):12:12 -> <init>
 com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode -> com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode:
-    com.android.tools.r8.origin.Origin origin -> c
-    com.android.tools.r8.position.Position position -> d
-    java.util.Set preconditions -> f
-    boolean $assertionsDisabled -> g
-    java.lang.String content -> e
+    java.util.Set preconditions -> g
+    java.lang.String content -> f
+    com.android.tools.r8.position.Position position -> e
+    com.android.tools.r8.origin.Origin origin -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():19:19 -> <clinit>
     1:1:void <init>(com.android.tools.r8.shaking.ProguardKeepRule):28:28 -> <init>
     2:8:void <init>(com.android.tools.r8.shaking.ProguardKeepRuleBase,java.util.Set):32:38 -> <init>
@@ -15364,8 +15346,8 @@
     4:12:java.lang.String toString():87 -> toString
     13:13:java.lang.String toString():87:87 -> toString
 com.android.tools.r8.experimental.graphinfo.MethodGraphNode -> com.android.tools.r8.experimental.graphinfo.MethodGraphNode:
-    com.android.tools.r8.references.MethodReference reference -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.references.MethodReference reference -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():9:9 -> <clinit>
     1:3:void <init>(boolean,com.android.tools.r8.references.MethodReference):15:17 -> <init>
     1:1:boolean equals(java.lang.Object):26:26 -> equals
@@ -15373,9 +15355,9 @@
     1:1:int hashCode():32:32 -> hashCode
     1:1:java.lang.String toString():37:37 -> toString
 com.android.tools.r8.features.FeatureSplitConfiguration -> com.android.tools.r8.r.a:
-    java.util.List featureSplits -> a
-    java.util.Map javaTypeToFeatureSplitMapping -> b
-    boolean $assertionsDisabled -> c
+    java.util.List featureSplits -> b
+    java.util.Map javaTypeToFeatureSplitMapping -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():28:28 -> <clinit>
     1:1:void <init>(java.util.List,com.android.tools.r8.utils.Reporter):33:33 -> <init>
     2:13:void <init>(java.util.List,com.android.tools.r8.utils.Reporter):31:42 -> <init>
@@ -15409,14 +15391,14 @@
     15:18:boolean isNestMate(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass):102:105 -> a
     15:18:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.AccessFlags,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):84 -> a
     19:29:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.AccessFlags,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):85:95 -> a
-    30:30:boolean com.android.tools.r8.graph.DexClass.isPublic():524:524 -> a
+    30:30:boolean com.android.tools.r8.graph.DexClass.isPublic():531:531 -> a
     30:30:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.features.FeatureSplitConfiguration):27 -> a
     31:39:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.features.FeatureSplitConfiguration):27:35 -> a
 com.android.tools.r8.graph.AccessFlags -> com.android.tools.r8.graph.b:
-    java.util.List NAMES -> c
-    int modifiedFlags -> b
-    boolean $assertionsDisabled -> d
-    int originalFlags -> a
+    java.util.List NAMES -> a
+    int modifiedFlags -> d
+    boolean $assertionsDisabled -> b
+    int originalFlags -> c
     1:14:void <clinit>():16:29 -> <clinit>
     1:3:void <init>(int,int):57:59 -> <init>
     1:1:void unsetPublic():167:167 -> A
@@ -15469,55 +15451,49 @@
     1:1:void unsetProtected():193:193 -> z
 com.android.tools.r8.graph.AppInfo -> com.android.tools.r8.graph.c:
     1:1:void <clinit>():19:19 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexApplication):36:36 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.AppInfo):41:41 -> <init>
-    3:3:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):46:46 -> <init>
-    4:9:void <init>(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ConcurrentHashMap,java.util.concurrent.ConcurrentHashMap,com.android.tools.r8.utils.BooleanBox):57:62 -> <init>
-    1:6:java.util.Map computeFieldDefinitions(com.android.tools.r8.graph.DexType):115:120 -> a
-    7:7:void lambda$computeFieldDefinitions$0(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexEncodedField):118:118 -> a
-    1:5:void addSynthesizedClass(com.android.tools.r8.graph.DexProgramClass):102:106 -> addSynthesizedClass
-    1:2:com.android.tools.r8.graph.DexApplication app():91:92 -> app
-    1:1:java.util.Map getFieldDefinitions(com.android.tools.r8.graph.DexType):205:205 -> b
-    1:1:boolean checkIfObsolete():86:86 -> checkIfObsolete
-    1:2:java.util.Collection classes():124:125 -> classes
-    1:2:java.lang.Iterable classesWithDeterministicOrder():129:130 -> classesWithDeterministicOrder
-    1:1:void copyMetadataFromPrevious(com.android.tools.r8.graph.AppInfo):70:70 -> copyMetadataFromPrevious
-    1:9:com.android.tools.r8.graph.DexDefinition definitionFor(com.android.tools.r8.graph.DexReference):135:143 -> definitionFor
-    10:10:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):148:148 -> definitionFor
-    11:20:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):186:195 -> definitionFor
-    21:22:com.android.tools.r8.graph.DexEncodedField definitionFor(com.android.tools.r8.graph.DexField):200:201 -> definitionFor
-    1:7:com.android.tools.r8.graph.DexClass definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):162:168 -> definitionForDesugarDependency
-    8:8:com.android.tools.r8.graph.DexClass definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):167:167 -> definitionForDesugarDependency
-    1:1:com.android.tools.r8.graph.DexProgramClass definitionForProgramType(com.android.tools.r8.graph.DexType):175:175 -> definitionForProgramType
-    1:7:com.android.tools.r8.graph.DexClass definitionForWithoutExistenceAssert(com.android.tools.r8.graph.DexType):152:158 -> definitionForWithoutExistenceAssert
-    1:2:com.android.tools.r8.graph.DexItemFactory dexItemFactory():97:98 -> dexItemFactory
-    1:1:boolean hasClassHierarchy():251:251 -> hasClassHierarchy
-    1:1:boolean hasLiveness():261:261 -> hasLiveness
-    1:1:void invalidateFieldCacheFor(com.android.tools.r8.graph.DexType):209:209 -> invalidateFieldCacheFor
-    1:2:boolean isInMainDexList(com.android.tools.r8.graph.DexType):271:272 -> isInMainDexList
-    1:1:boolean isObsolete():74:74 -> isObsolete
-    1:4:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):240:243 -> lookupDirectTargetOnItself
-    5:5:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):391:391 -> lookupDirectTargetOnItself
-    5:5:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):243 -> lookupDirectTargetOnItself
-    6:6:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):244:244 -> lookupDirectTargetOnItself
-    1:4:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):221:224 -> lookupStaticTargetOnItself
-    5:5:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):391:391 -> lookupStaticTargetOnItself
-    5:5:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):224 -> lookupStaticTargetOnItself
-    6:6:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):225:225 -> lookupStaticTargetOnItself
-    1:1:void markObsolete():78:78 -> markObsolete
-    1:1:com.android.tools.r8.utils.InternalOptions options():66:66 -> options
-    1:3:com.android.tools.r8.origin.Origin originFor(com.android.tools.r8.graph.DexType):179:181 -> originFor
-    1:1:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):276:276 -> resolveField
-    1:1:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):281:281 -> resolveFieldOn
+    1:1:void <init>(com.android.tools.r8.graph.DexApplication):33:33 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.AppInfo):38:38 -> <init>
+    3:3:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):43:43 -> <init>
+    4:8:void <init>(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ConcurrentHashMap,com.android.tools.r8.utils.BooleanBox):52:56 -> <init>
+    1:4:void addSynthesizedClass(com.android.tools.r8.graph.DexProgramClass):96:99 -> addSynthesizedClass
+    1:2:com.android.tools.r8.graph.DexApplication app():85:86 -> app
+    1:1:boolean checkIfObsolete():80:80 -> checkIfObsolete
+    1:2:java.util.Collection classes():117:118 -> classes
+    1:2:java.lang.Iterable classesWithDeterministicOrder():122:123 -> classesWithDeterministicOrder
+    1:1:void copyMetadataFromPrevious(com.android.tools.r8.graph.AppInfo):64:64 -> copyMetadataFromPrevious
+    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):128:128 -> definitionFor
+    2:11:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):167:176 -> definitionFor
+    1:7:com.android.tools.r8.graph.DexClass definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):142:148 -> definitionForDesugarDependency
+    8:8:com.android.tools.r8.graph.DexClass definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):147:147 -> definitionForDesugarDependency
+    1:1:com.android.tools.r8.graph.DexProgramClass definitionForProgramType(com.android.tools.r8.graph.DexType):155:155 -> definitionForProgramType
+    1:7:com.android.tools.r8.graph.DexClass definitionForWithoutExistenceAssert(com.android.tools.r8.graph.DexType):132:138 -> definitionForWithoutExistenceAssert
+    1:2:com.android.tools.r8.graph.DexItemFactory dexItemFactory():91:92 -> dexItemFactory
+    1:1:boolean hasClassHierarchy():218:218 -> hasClassHierarchy
+    1:1:boolean hasLiveness():228:228 -> hasLiveness
+    1:2:boolean isInMainDexList(com.android.tools.r8.graph.DexType):238:239 -> isInMainDexList
+    1:1:boolean isObsolete():68:68 -> isObsolete
+    1:4:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):207:210 -> lookupDirectTargetOnItself
+    5:5:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):389:389 -> lookupDirectTargetOnItself
+    5:5:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):210 -> lookupDirectTargetOnItself
+    6:6:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):211:211 -> lookupDirectTargetOnItself
+    1:4:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):188:191 -> lookupStaticTargetOnItself
+    5:5:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):389:389 -> lookupStaticTargetOnItself
+    5:5:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):191 -> lookupStaticTargetOnItself
+    6:6:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):192:192 -> lookupStaticTargetOnItself
+    1:1:void markObsolete():72:72 -> markObsolete
+    1:1:com.android.tools.r8.utils.InternalOptions options():60:60 -> options
+    1:3:com.android.tools.r8.origin.Origin originFor(com.android.tools.r8.graph.DexType):159:161 -> originFor
+    1:1:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):243:243 -> resolveField
+    1:1:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):248:248 -> resolveFieldOn
     2:2:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():12:12 -> resolveFieldOn
-    2:2:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):282 -> resolveFieldOn
-    3:6:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):284:287 -> resolveFieldOn
+    2:2:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):249 -> resolveFieldOn
+    3:6:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):251:254 -> resolveFieldOn
     7:7:com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.unknown():16:16 -> resolveFieldOn
-    7:7:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):288 -> resolveFieldOn
-    1:2:java.util.Collection synthesizedClasses():110:111 -> synthesizedClasses
-    1:1:void unsetObsolete():82:82 -> unsetObsolete
-    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy withClassHierarchy():256:256 -> withClassHierarchy
-    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness withLiveness():266:266 -> withLiveness
+    7:7:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):255 -> resolveFieldOn
+    1:2:java.util.Collection synthesizedClasses():103:104 -> synthesizedClasses
+    1:1:void unsetObsolete():76:76 -> unsetObsolete
+    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy withClassHierarchy():223:223 -> withClassHierarchy
+    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness withLiveness():233:233 -> withLiveness
 com.android.tools.r8.graph.AppInfoWithClassHierarchy -> com.android.tools.r8.graph.d:
     1:1:void <clinit>():39:39 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexApplication):42:42 -> <init>
@@ -15531,25 +15507,25 @@
     13:25:java.util.List computeChainInClassHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):286:298 -> a
     26:31:com.android.tools.r8.graph.ResolutionResult resolveMethodOnArray(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):504:509 -> a
     32:32:com.android.tools.r8.graph.ResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):566:566 -> a
-    33:39:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupSignaturePolymorphicMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):421:427 -> a
+    33:39:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupSignaturePolymorphicMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):428:434 -> a
     33:39:com.android.tools.r8.graph.ResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):566 -> a
-    40:41:boolean com.android.tools.r8.graph.DexClass.isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):443:444 -> a
-    40:41:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupSignaturePolymorphicMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):434 -> a
+    40:41:boolean com.android.tools.r8.graph.DexClass.isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):450:451 -> a
+    40:41:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupSignaturePolymorphicMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):441 -> a
     40:41:com.android.tools.r8.graph.ResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):566 -> a
     42:42:boolean com.android.tools.r8.graph.MethodAccessFlags.isVarargs():152:152 -> a
-    42:42:boolean com.android.tools.r8.graph.DexClass.isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):444 -> a
-    42:42:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupSignaturePolymorphicMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):434 -> a
+    42:42:boolean com.android.tools.r8.graph.DexClass.isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):451 -> a
+    42:42:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupSignaturePolymorphicMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):441 -> a
     42:42:com.android.tools.r8.graph.ResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):566 -> a
-    43:45:boolean com.android.tools.r8.graph.DexClass.isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):444:446 -> a
-    43:45:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupSignaturePolymorphicMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):434 -> a
+    43:45:boolean com.android.tools.r8.graph.DexClass.isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):451:453 -> a
+    43:45:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupSignaturePolymorphicMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):441 -> a
     43:45:com.android.tools.r8.graph.ResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):566 -> a
     46:46:com.android.tools.r8.graph.ResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):568:568 -> a
-    47:47:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):411:411 -> a
+    47:47:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):418:418 -> a
     47:47:com.android.tools.r8.graph.ResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):571 -> a
     48:57:com.android.tools.r8.graph.ResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):578:587 -> a
     58:60:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):622:622 -> a
     61:67:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):631:637 -> a
-    68:68:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):411:411 -> a
+    68:68:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):418:418 -> a
     68:68:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):638 -> a
     69:69:boolean isMaximallySpecificCandidate(com.android.tools.r8.graph.DexEncodedMethod):662:662 -> a
     69:69:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):639 -> a
@@ -15576,7 +15552,7 @@
     1:3:boolean inSameHierarchy(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):196:198 -> inSameHierarchy
     1:1:boolean isExternalizable(com.android.tools.r8.graph.DexType):237:237 -> isExternalizable
     1:1:boolean isMissingOrHasMissingSuperType(com.android.tools.r8.graph.DexType):206:206 -> isMissingOrHasMissingSuperType
-    2:6:boolean com.android.tools.r8.graph.DexClass.hasMissingSuperType(com.android.tools.r8.graph.AppInfoWithClassHierarchy):572:576 -> isMissingOrHasMissingSuperType
+    2:6:boolean com.android.tools.r8.graph.DexClass.hasMissingSuperType(com.android.tools.r8.graph.AppInfoWithClassHierarchy):579:583 -> isMissingOrHasMissingSuperType
     2:6:boolean isMissingOrHasMissingSuperType(com.android.tools.r8.graph.DexType):207 -> isMissingOrHasMissingSuperType
     1:1:boolean isSerializable(com.android.tools.r8.graph.DexType):241:241 -> isSerializable
     1:26:boolean isStrictSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):167:192 -> isStrictSubtypeOf
@@ -15599,7 +15575,7 @@
     1:2:com.android.tools.r8.graph.DexEncodedMethod lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):415:416 -> lookupSuperTarget
     3:3:com.android.tools.r8.graph.DexEncodedMethod lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):421:421 -> lookupSuperTarget
     1:7:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):317:323 -> methodDefinedInInterface
-    8:8:boolean com.android.tools.r8.graph.DexMethod.hasSameProtoAndName(com.android.tools.r8.graph.DexMethod):118:118 -> methodDefinedInInterface
+    8:8:boolean com.android.tools.r8.graph.DexMethod.hasSameProtoAndName(com.android.tools.r8.graph.DexMethod):151:151 -> methodDefinedInInterface
     8:8:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):323 -> methodDefinedInInterface
     9:15:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):323:329 -> methodDefinedInInterface
     1:6:boolean methodDefinedInInterfaces(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):304:309 -> methodDefinedInInterfaces
@@ -15625,10 +15601,10 @@
     1:1:com.android.tools.r8.graph.ResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexMethod):666:666 -> resolveMethodOnInterface
     2:16:com.android.tools.r8.graph.ResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):681:695 -> resolveMethodOnInterface
     17:18:com.android.tools.r8.graph.ResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):699:700 -> resolveMethodOnInterface
-    19:19:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):411:411 -> resolveMethodOnInterface
+    19:19:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):418:418 -> resolveMethodOnInterface
     19:19:com.android.tools.r8.graph.ResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):702 -> resolveMethodOnInterface
     20:25:com.android.tools.r8.graph.ResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):704:709 -> resolveMethodOnInterface
-    26:26:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):411:411 -> resolveMethodOnInterface
+    26:26:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):418:418 -> resolveMethodOnInterface
     26:26:com.android.tools.r8.graph.ResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):711 -> resolveMethodOnInterface
     27:28:com.android.tools.r8.graph.ResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):712:713 -> resolveMethodOnInterface
     29:29:com.android.tools.r8.graph.ResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):600:600 -> resolveMethodOnInterface
@@ -15643,8 +15619,8 @@
     1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy withClassHierarchy():68:68 -> withClassHierarchy
 com.android.tools.r8.graph.AppInfoWithClassHierarchy$1 -> com.android.tools.r8.graph.d$a:
 com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder -> com.android.tools.r8.graph.d$b:
-    java.util.LinkedHashMap maximallySpecificMethods -> a
-    boolean $assertionsDisabled -> b
+    java.util.LinkedHashMap maximallySpecificMethods -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():809:809 -> <clinit>
     1:9:void <init>():809:817 -> <init>
     10:10:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$1):809:809 -> <init>
@@ -15656,9 +15632,9 @@
     64:67:com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult singleResultHelper(com.android.tools.r8.graph.DexClass,java.util.Map$Entry):906:909 -> a
     1:2:com.android.tools.r8.graph.ResolutionResult resolve(com.android.tools.r8.graph.DexClass):863:864 -> b
 com.android.tools.r8.graph.AppServices -> com.android.tools.r8.graph.e:
-    java.util.Map services -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> c
+    java.util.Map services -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():32:32 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.AppServices$1):32:32 -> <init>
     2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):41:43 -> <init>
@@ -15698,31 +15674,31 @@
     1:12:void visit(com.android.tools.r8.DataEntryResource):157:168 -> visit
     13:18:void visit(com.android.tools.r8.DataEntryResource):167:172 -> visit
 com.android.tools.r8.graph.AppView -> com.android.tools.r8.graph.f:
-    com.android.tools.r8.graph.InitClassLens initClassLens -> g
-    java.util.Set cfByteCodePassThrough -> w
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
-    com.android.tools.r8.graph.AppView$WholeProgramOptimizations wholeProgramOptimizations -> e
-    com.android.tools.r8.graph.EnumValueInfoMapCollection unboxedEnums -> v
-    boolean allCodeProcessed -> q
-    boolean $assertionsDisabled -> y
-    com.android.tools.r8.graph.classmerging.VerticallyMergedClasses verticallyMergedClasses -> u
-    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfoForDesugaring -> b
-    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory instanceFieldInitializationInfoFactory -> k
-    com.android.tools.r8.ir.conversion.MethodProcessingId$Factory methodProcessingIdFactory -> l
-    com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> j
-    com.android.tools.r8.ir.desugar.PrefixRewritingMapper rewritePrefix -> m
-    com.android.tools.r8.ir.analysis.proto.ProtoShrinker protoShrinker -> p
-    com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator callSiteOptimizationInfoPropagator -> n
-    com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer libraryMemberOptimizer -> o
-    com.android.tools.r8.shaking.RootSetBuilder$RootSet rootSet -> i
-    java.util.function.Predicate classesEscapingIntoLibrary -> r
-    com.android.tools.r8.utils.InternalOptions options -> h
-    java.util.Map sourceDebugExtensions -> x
-    com.android.tools.r8.graph.AppServices appServices -> c
-    com.android.tools.r8.graph.GraphLense graphLense -> f
-    com.android.tools.r8.graph.classmerging.HorizontallyMergedLambdaClasses horizontallyMergedLambdaClasses -> t
-    com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods initializedClassesInInstanceMethods -> s
-    com.android.tools.r8.graph.AppInfo appInfo -> a
+    com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator callSiteOptimizationInfoPropagator -> o
+    com.android.tools.r8.ir.analysis.proto.ProtoShrinker protoShrinker -> q
+    com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer libraryMemberOptimizer -> p
+    java.util.Map sourceDebugExtensions -> y
+    java.util.function.Predicate classesEscapingIntoLibrary -> s
+    com.android.tools.r8.shaking.RootSetBuilder$RootSet rootSet -> j
+    com.android.tools.r8.utils.InternalOptions options -> i
+    com.android.tools.r8.graph.AppServices appServices -> d
+    com.android.tools.r8.graph.GraphLense graphLense -> g
+    com.android.tools.r8.graph.classmerging.HorizontallyMergedLambdaClasses horizontallyMergedLambdaClasses -> u
+    com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods initializedClassesInInstanceMethods -> t
+    com.android.tools.r8.graph.AppInfo appInfo -> b
+    java.util.Set cfByteCodePassThrough -> x
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
+    com.android.tools.r8.graph.InitClassLens initClassLens -> h
+    com.android.tools.r8.graph.AppView$WholeProgramOptimizations wholeProgramOptimizations -> f
+    com.android.tools.r8.graph.EnumValueInfoMapCollection unboxedEnums -> w
+    boolean allCodeProcessed -> r
+    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfoForDesugaring -> c
+    com.android.tools.r8.graph.classmerging.VerticallyMergedClasses verticallyMergedClasses -> v
+    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory instanceFieldInitializationInfoFactory -> l
+    com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> k
+    com.android.tools.r8.ir.conversion.MethodProcessingId$Factory methodProcessingIdFactory -> m
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.desugar.PrefixRewritingMapper rewritePrefix -> n
     1:1:void <clinit>():36:36 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.AppView$WholeProgramOptimizations,com.android.tools.r8.utils.InternalOptions):83:84 -> <init>
     3:3:void <init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.AppView$WholeProgramOptimizations,com.android.tools.r8.utils.InternalOptions):78:78 -> <init>
@@ -15739,66 +15715,63 @@
     10:10:void setClassesEscapingIntoLibrary(java.util.function.Predicate):218:218 -> a
     11:11:void setSourceDebugExtensionForType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexValue$DexValueString):222:222 -> a
     12:12:com.android.tools.r8.graph.DexValue$DexValueString getSourceDebugExtensionForType(com.android.tools.r8.graph.DexClass):226:226 -> a
-    13:13:com.android.tools.r8.graph.DexProgramClass definitionForProgramType(com.android.tools.r8.graph.DexType):251:251 -> a
-    14:15:void withGeneratedExtensionRegistryShrinker(com.android.tools.r8.utils.ThrowingConsumer):305:306 -> a
-    16:17:java.lang.Object withGeneratedExtensionRegistryShrinker(java.util.function.Function,java.lang.Object):312:313 -> a
-    18:19:boolean setGraphLense(com.android.tools.r8.graph.GraphLense):354:355 -> a
-    20:20:void setInitClassLens(com.android.tools.r8.graph.InitClassLens):370:370 -> a
-    21:21:void setInitializedClassesInInstanceMethods(com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods):375:375 -> a
-    22:22:void setCfByteCodePassThrough(java.util.Set):379:379 -> a
-    23:24:void setRootSet(com.android.tools.r8.shaking.RootSetBuilder$RootSet):399:400 -> a
-    25:25:void setHorizontallyMergedLambdaClasses(com.android.tools.r8.graph.classmerging.HorizontallyMergedLambdaClasses):422:422 -> a
-    26:26:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):432:432 -> a
-    27:27:void setUnboxedEnums(com.android.tools.r8.graph.EnumValueInfoMapCollection):440:440 -> a
-    28:30:com.android.tools.r8.utils.OptionalBool isSubtype(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):467:469 -> a
-    31:31:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):473:473 -> a
-    32:32:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    32:32:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):473 -> a
-    33:37:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):476:480 -> a
+    13:13:com.android.tools.r8.graph.DexProgramClass definitionForProgramType(com.android.tools.r8.graph.DexType):242:242 -> a
+    14:15:void withGeneratedExtensionRegistryShrinker(com.android.tools.r8.utils.ThrowingConsumer):296:297 -> a
+    16:17:java.lang.Object withGeneratedExtensionRegistryShrinker(java.util.function.Function,java.lang.Object):303:304 -> a
+    18:19:boolean setGraphLense(com.android.tools.r8.graph.GraphLense):345:346 -> a
+    20:20:void setInitClassLens(com.android.tools.r8.graph.InitClassLens):361:361 -> a
+    21:21:void setInitializedClassesInInstanceMethods(com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods):366:366 -> a
+    22:22:void setCfByteCodePassThrough(java.util.Set):370:370 -> a
+    23:24:void setRootSet(com.android.tools.r8.shaking.RootSetBuilder$RootSet):390:391 -> a
+    25:25:void setHorizontallyMergedLambdaClasses(com.android.tools.r8.graph.classmerging.HorizontallyMergedLambdaClasses):413:413 -> a
+    26:26:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):423:423 -> a
+    27:27:void setUnboxedEnums(com.android.tools.r8.graph.EnumValueInfoMapCollection):431:431 -> a
+    28:30:com.android.tools.r8.utils.OptionalBool isSubtype(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):458:460 -> a
+    31:31:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):464:464 -> a
+    32:32:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    32:32:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):464 -> a
+    33:37:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):467:471 -> a
     1:1:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions):133:133 -> b
     2:2:com.android.tools.r8.graph.AppView createForL8(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.desugar.PrefixRewritingMapper):138:138 -> b
     3:4:boolean isClassEscapingIntoLibrary(com.android.tools.r8.graph.DexType):213:214 -> b
-    5:6:void withGeneratedMessageLiteBuilderShrinker(com.android.tools.r8.utils.ThrowingConsumer):327:328 -> b
-    7:8:java.lang.Object withGeneratedMessageLiteBuilderShrinker(java.util.function.Function,java.lang.Object):342:343 -> b
-    9:14:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():404:409 -> b
+    5:6:void withGeneratedMessageLiteBuilderShrinker(com.android.tools.r8.utils.ThrowingConsumer):318:319 -> b
+    7:8:java.lang.Object withGeneratedMessageLiteBuilderShrinker(java.util.function.Function,java.lang.Object):333:334 -> b
+    9:14:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():395:400 -> b
     1:1:com.android.tools.r8.graph.AppView createForRelocator(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions):143:143 -> c
     2:3:com.android.tools.r8.graph.AppInfo appInfo():159:160 -> c
-    4:7:com.android.tools.r8.utils.OptionalBool isInterface(com.android.tools.r8.graph.DexType):255:258 -> c
-    8:8:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):246:246 -> c
-    8:8:com.android.tools.r8.utils.OptionalBool isInterface(com.android.tools.r8.graph.DexType):259 -> c
-    9:13:com.android.tools.r8.utils.OptionalBool isInterface(com.android.tools.r8.graph.DexType):261:265 -> c
-    14:15:void withGeneratedMessageLiteShrinker(com.android.tools.r8.utils.ThrowingConsumer):320:321 -> c
-    16:17:java.lang.Object withGeneratedMessageLiteShrinker(java.util.function.Function,java.lang.Object):334:335 -> c
+    4:7:com.android.tools.r8.utils.OptionalBool isInterface(com.android.tools.r8.graph.DexType):246:249 -> c
+    8:8:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):237:237 -> c
+    8:8:com.android.tools.r8.utils.OptionalBool isInterface(com.android.tools.r8.graph.DexType):250 -> c
+    9:13:com.android.tools.r8.utils.OptionalBool isInterface(com.android.tools.r8.graph.DexType):252:256 -> c
+    14:15:void withGeneratedMessageLiteShrinker(com.android.tools.r8.utils.ThrowingConsumer):311:312 -> c
+    16:17:java.lang.Object withGeneratedMessageLiteShrinker(java.util.function.Function,java.lang.Object):325:326 -> c
     1:9:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfoForDesugaring():164:172 -> d
-    10:11:void withProtoShrinker(com.android.tools.r8.utils.ThrowingConsumer):291:292 -> d
-    12:13:java.lang.Object withInitializedClassesInInstanceMethods(java.util.function.Function,java.lang.Object):384:385 -> d
-    1:1:com.android.tools.r8.graph.DexDefinition definitionFor(com.android.tools.r8.graph.DexReference):231:231 -> definitionFor
-    2:2:com.android.tools.r8.graph.DexEncodedField definitionFor(com.android.tools.r8.graph.DexField):236:236 -> definitionFor
-    3:3:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> definitionFor
-    4:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):246:246 -> definitionFor
-    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():270:270 -> dexItemFactory
+    10:11:void withProtoShrinker(com.android.tools.r8.utils.ThrowingConsumer):282:283 -> d
+    12:13:java.lang.Object withInitializedClassesInInstanceMethods(java.util.function.Function,java.lang.Object):375:376 -> d
+    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):237:237 -> definitionFor
+    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():261:261 -> dexItemFactory
     1:1:com.android.tools.r8.graph.AppServices appServices():205:205 -> e
-    2:3:java.lang.Object withProtoShrinker(java.util.function.Function,java.lang.Object):297:298 -> e
-    1:1:com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator callSiteOptimizationInfoPropagator():278:278 -> f
-    1:1:boolean canUseInitClass():362:362 -> g
+    2:3:java.lang.Object withProtoShrinker(java.util.function.Function,java.lang.Object):288:289 -> e
+    1:1:com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator callSiteOptimizationInfoPropagator():269:269 -> f
+    1:1:boolean canUseInitClass():353:353 -> g
     1:1:com.android.tools.r8.graph.GraphLense clearCodeRewritings():201:201 -> h
-    1:1:boolean enableWholeProgramOptimizations():274:274 -> i
+    1:1:boolean enableWholeProgramOptimizations():265:265 -> i
     1:1:boolean isModeled(com.android.tools.r8.graph.DexType):120:120 -> isModeled
-    1:1:com.android.tools.r8.graph.GraphLense graphLense():349:349 -> j
-    1:1:boolean hasCfByteCodePassThroughMethods():484:484 -> k
-    1:1:com.android.tools.r8.graph.InitClassLens initClassLens():366:366 -> l
+    1:1:com.android.tools.r8.graph.GraphLense graphLense():340:340 -> j
+    1:1:boolean hasCfByteCodePassThroughMethods():475:475 -> k
+    1:1:com.android.tools.r8.graph.InitClassLens initClassLens():357:357 -> l
     1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory instanceFieldInitializationInfoFactory():151:151 -> m
     1:1:boolean isAllCodeProcessed():193:193 -> n
-    1:1:com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer libraryMethodOptimizer():282:282 -> o
+    1:1:com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer libraryMethodOptimizer():273:273 -> o
     1:1:com.android.tools.r8.ir.conversion.MethodProcessingId$Factory methodProcessingIdFactory():155:155 -> p
-    1:1:com.android.tools.r8.utils.InternalOptions options():391:391 -> q
-    1:1:com.android.tools.r8.ir.analysis.proto.ProtoShrinker protoShrinker():286:286 -> r
-    1:1:com.android.tools.r8.shaking.RootSetBuilder$RootSet rootSet():395:395 -> s
+    1:1:com.android.tools.r8.utils.InternalOptions options():382:382 -> q
+    1:1:com.android.tools.r8.ir.analysis.proto.ProtoShrinker protoShrinker():277:277 -> r
+    1:1:com.android.tools.r8.shaking.RootSetBuilder$RootSet rootSet():386:386 -> s
     1:1:void setAllCodeProcessed():197:197 -> t
-    1:1:com.android.tools.r8.graph.EnumValueInfoMapCollection unboxedEnums():436:436 -> u
-    1:4:boolean validateUnboxedEnumsHaveBeenPruned():444:447 -> v
-    1:1:com.android.tools.r8.graph.classmerging.VerticallyMergedClasses verticallyMergedClasses():428:428 -> w
-    1:1:com.android.tools.r8.graph.AppView withClassHierarchy():455:455 -> x
+    1:1:com.android.tools.r8.graph.EnumValueInfoMapCollection unboxedEnums():427:427 -> u
+    1:4:boolean validateUnboxedEnumsHaveBeenPruned():435:438 -> v
+    1:1:com.android.tools.r8.graph.classmerging.VerticallyMergedClasses verticallyMergedClasses():419:419 -> w
+    1:1:com.android.tools.r8.graph.AppView withClassHierarchy():446:446 -> x
     com.android.tools.r8.graph.AppView withLiveness() -> y
 com.android.tools.r8.graph.AppView$WholeProgramOptimizations -> com.android.tools.r8.graph.f$a:
     com.android.tools.r8.graph.AppView$WholeProgramOptimizations ON -> a
@@ -15806,12 +15779,12 @@
     1:2:void <clinit>():39:40 -> <clinit>
     1:1:void <init>(java.lang.String,int):38:38 -> <init>
 com.android.tools.r8.graph.AppliedGraphLens -> com.android.tools.r8.graph.g:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.com.google.common.collect.BiMap originalTypeNames -> b
-    com.android.tools.r8.com.google.common.collect.BiMap originalFieldSignatures -> c
-    com.android.tools.r8.com.google.common.collect.BiMap originalMethodSignatures -> d
-    boolean $assertionsDisabled -> f
-    java.util.Map originalMethodSignaturesForBridges -> e
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.com.google.common.collect.BiMap originalTypeNames -> c
+    com.android.tools.r8.com.google.common.collect.BiMap originalFieldSignatures -> d
+    com.android.tools.r8.com.google.common.collect.BiMap originalMethodSignatures -> e
+    boolean $assertionsDisabled -> a
+    java.util.Map originalMethodSignaturesForBridges -> f
     1:1:void <clinit>():20:20 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,java.lang.Iterable):31:31 -> <init>
     2:50:void <init>(com.android.tools.r8.graph.AppView,java.lang.Iterable):24:72 -> <init>
@@ -15827,15 +15800,15 @@
     1:1:void <init>():7:7 -> <init>
     boolean register(int) -> a
 com.android.tools.r8.graph.AssemblyWriter -> com.android.tools.r8.graph.i:
-    com.android.tools.r8.ir.conversion.MethodProcessingId$Factory methodProcessingIdFactory -> c
-    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> h
-    com.android.tools.r8.kotlin.Kotlin kotlin -> i
-    boolean $assertionsDisabled -> k
-    boolean writeFields -> e
-    boolean writeAnnotations -> f
-    boolean writeIR -> g
-    boolean writeAllClassInfo -> d
-    com.android.tools.r8.utils.Timing timing -> j
+    com.android.tools.r8.ir.conversion.MethodProcessingId$Factory methodProcessingIdFactory -> d
+    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> i
+    com.android.tools.r8.kotlin.Kotlin kotlin -> j
+    boolean writeAllClassInfo -> e
+    boolean writeFields -> f
+    boolean writeAnnotations -> g
+    boolean writeIR -> h
+    com.android.tools.r8.utils.Timing timing -> k
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():25:25 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions,boolean,boolean):39:39 -> <init>
     2:30:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions,boolean,boolean):27:55 -> <init>
@@ -15852,7 +15825,7 @@
     50:50:void writeAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationSet,java.io.PrintStream):168:168 -> a
     void writeClassFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> b
     1:2:void writeIR(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):142:143 -> b
-    3:3:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):392:392 -> b
+    3:3:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):376:376 -> b
     3:3:void writeIR(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):143 -> b
     4:13:void writeIR(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):144:153 -> b
     1:18:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):66:83 -> c
@@ -15864,7 +15837,7 @@
     1:1:void visit(java.lang.Iterable,java.util.function.Consumer):7:7 -> a
     2:2:com.android.tools.r8.graph.BottomUpClassHierarchyTraversal forAllClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):26:26 -> a
     3:15:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):49:61 -> a
-    16:16:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    16:16:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     16:16:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):61 -> a
     17:18:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):63:64 -> a
     19:19:com.android.tools.r8.graph.ClassHierarchyTraversal com.android.tools.r8.graph.ClassHierarchyTraversal.excludeInterfaces():60:60 -> a
@@ -15879,13 +15852,13 @@
     10:14:boolean verifyHashCodeConsistent(int):34:38 -> hashCode
     10:14:int hashCode():29 -> hashCode
 com.android.tools.r8.graph.CfCode -> com.android.tools.r8.graph.l:
-    java.util.List localVariables -> f
-    java.util.List tryCatchRanges -> e
-    java.util.List instructions -> d
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.graph.DexType originalHolder -> a
-    int maxStack -> b
-    int maxLocals -> c
+    java.util.List tryCatchRanges -> f
+    java.util.List instructions -> e
+    com.android.tools.r8.graph.DexType originalHolder -> b
+    int maxLocals -> d
+    java.util.List localVariables -> g
+    boolean $assertionsDisabled -> a
+    int maxStack -> c
     1:1:void <clinit>():46:46 -> <clinit>
     1:7:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):112:118 -> <init>
     1:1:java.util.List getInstructions():142:142 -> a
@@ -15949,11 +15922,11 @@
     3:3:java.lang.String toString():499:499 -> toString
     4:4:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):504:504 -> toString
 com.android.tools.r8.graph.CfCode$LocalVariableInfo -> com.android.tools.r8.graph.l$a:
-    com.android.tools.r8.graph.DebugLocalInfo local -> b
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.cf.code.CfLabel start -> c
-    com.android.tools.r8.cf.code.CfLabel end -> d
-    int index -> a
+    com.android.tools.r8.graph.DebugLocalInfo local -> c
+    boolean $assertionsDisabled -> a
+    int index -> b
+    com.android.tools.r8.cf.code.CfLabel start -> d
+    com.android.tools.r8.cf.code.CfLabel end -> e
     1:1:void <clinit>():48:48 -> <clinit>
     1:4:void <init>(int,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel):55:58 -> <init>
     1:1:com.android.tools.r8.graph.DebugLocalInfo access$000(com.android.tools.r8.graph.CfCode$LocalVariableInfo):48:48 -> a
@@ -15971,26 +15944,27 @@
     1:1:void <clinit>():15:15 -> <clinit>
     1:1:void <init>(int,int):61:61 -> <init>
     1:1:com.android.tools.r8.graph.ClassAccessFlags copy():81:81 -> C
-    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():67:67 -> D
-    1:1:int getAsCfAccessFlags():91 -> D
+    1:1:void demoteFromAbstract():171:171 -> D
     1:1:int com.android.tools.r8.graph.AccessFlags.materialize():67:67 -> E
-    1:1:int getAsDexAccessFlags():98 -> E
-    2:2:int getAsDexAccessFlags():99:99 -> E
-    1:1:boolean isAbstract():167:167 -> F
-    1:1:boolean isAnnotation():179:179 -> G
-    1:1:boolean isEnum():191:191 -> H
-    1:1:boolean isInterface():155:155 -> I
-    1:1:boolean isSuper():199:199 -> J
-    1:1:void setAbstract():171:171 -> K
-    1:1:void setAnnotation():183:183 -> L
-    1:1:void unsetAbstract():175:175 -> M
-    1:1:void unsetAnnotation():187:187 -> N
-    1:1:void unsetInterface():163:163 -> O
+    1:1:int getAsCfAccessFlags():91 -> E
+    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():67:67 -> F
+    1:1:int getAsDexAccessFlags():98 -> F
+    2:2:int getAsDexAccessFlags():99:99 -> F
+    1:1:boolean isAbstract():167:167 -> G
+    1:1:boolean isAnnotation():183:183 -> H
+    1:1:boolean isEnum():195:195 -> I
+    1:1:boolean isInterface():155:155 -> J
+    1:1:boolean isSuper():203:203 -> K
+    1:1:void setAbstract():175:175 -> L
+    1:1:void setAnnotation():187:187 -> M
+    1:1:void unsetAbstract():179:179 -> N
+    1:1:void unsetAnnotation():191:191 -> O
+    1:1:void unsetInterface():163:163 -> P
     1:1:boolean areValid(int,boolean):132:132 -> a
-    2:2:boolean isSuper():199:199 -> a
+    2:2:boolean isSuper():203:203 -> a
     2:2:boolean areValid(int,boolean):134 -> a
     3:7:boolean areValid(int,boolean):140:144 -> a
-    8:8:boolean isEnum():191:191 -> a
+    8:8:boolean isEnum():195:195 -> a
     8:8:boolean areValid(int,boolean):144 -> a
     9:9:boolean areValid(int,boolean):146:146 -> a
     1:8:java.util.List getNames():34:41 -> c
@@ -16003,12 +15977,12 @@
     2:2:com.android.tools.r8.graph.ClassAccessFlags fromDexAccessFlags(int):72 -> g
     1:3:com.android.tools.r8.graph.ClassAccessFlags fromSharedAccessFlags(int):65:67 -> h
 com.android.tools.r8.graph.ClassHierarchyTraversal -> com.android.tools.r8.graph.o:
-    java.util.Deque worklist -> d
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set visited -> c
-    com.android.tools.r8.graph.ClassHierarchyTraversal$Scope scope -> b
-    boolean excludeInterfaces -> e
-    boolean $assertionsDisabled -> f
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set visited -> d
+    com.android.tools.r8.graph.ClassHierarchyTraversal$Scope scope -> c
+    java.util.Deque worklist -> e
+    boolean excludeInterfaces -> f
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):52:52 -> <init>
     2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):47:54 -> <init>
@@ -16025,12 +15999,12 @@
     5:5:void <clinit>():18:18 -> <clinit>
     1:1:void <init>(java.lang.String,int):18:18 -> <init>
 com.android.tools.r8.graph.ClassKind -> com.android.tools.r8.graph.p:
-    com.android.tools.r8.graph.ClassKind CLASSPATH -> d
-    com.android.tools.r8.graph.ClassKind LIBRARY -> e
-    java.util.function.Predicate check -> b
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.ClassKind$Factory factory -> a
-    com.android.tools.r8.graph.ClassKind PROGRAM -> c
+    com.android.tools.r8.graph.ClassKind$Factory factory -> e
+    java.util.function.Predicate check -> f
+    com.android.tools.r8.graph.ClassKind PROGRAM -> a
+    com.android.tools.r8.graph.ClassKind CLASSPATH -> b
+    com.android.tools.r8.graph.ClassKind LIBRARY -> c
+    boolean $assertionsDisabled -> d
     1:42:void <clinit>():15:56 -> <clinit>
     1:3:void <init>(java.lang.String,int,com.android.tools.r8.graph.ClassKind$Factory,java.util.function.Predicate):121:123 -> <init>
     1:1:com.android.tools.r8.graph.DexClass create(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier):145:145 -> a
@@ -16090,10 +16064,10 @@
     1:1:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
     1:1:com.android.tools.r8.graph.DefaultInitClassLens getInstance():16:16 -> d
 com.android.tools.r8.graph.DexAnnotation -> com.android.tools.r8.graph.u:
-    com.android.tools.r8.graph.DexEncodedAnnotation annotation -> b
-    com.android.tools.r8.graph.DexAnnotation[] EMPTY_ARRAY -> c
-    boolean $assertionsDisabled -> d
-    int visibility -> a
+    com.android.tools.r8.graph.DexEncodedAnnotation annotation -> d
+    com.android.tools.r8.graph.DexAnnotation[] EMPTY_ARRAY -> a
+    boolean $assertionsDisabled -> b
+    int visibility -> c
     1:2:void <clinit>():26:27 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.graph.DexEncodedAnnotation):34:36 -> <init>
     1:1:com.android.tools.r8.graph.DexType getAnnotationType():40:40 -> a
@@ -16175,10 +16149,10 @@
     1:11:boolean equals(java.lang.Object):73:83 -> equals
     1:4:int hashCode():88:91 -> hashCode
 com.android.tools.r8.graph.DexAnnotationElement -> com.android.tools.r8.graph.w:
-    com.android.tools.r8.graph.DexAnnotationElement[] EMPTY_ARRAY -> c
-    com.android.tools.r8.graph.DexString name -> a
-    com.android.tools.r8.graph.DexValue value -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexString name -> c
+    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexAnnotationElement[] EMPTY_ARRAY -> a
+    com.android.tools.r8.graph.DexValue value -> d
     1:2:void <clinit>():9:10 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexValue):15:17 -> <init>
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):45:45 -> collectIndexedItems
@@ -16190,11 +16164,11 @@
     1:1:int hashCode():22:22 -> hashCode
     1:1:java.lang.String toString():39:39 -> toString
 com.android.tools.r8.graph.DexAnnotationSet -> com.android.tools.r8.graph.x:
-    com.android.tools.r8.graph.DexAnnotationSet THE_EMPTY_ANNOTATIONS_SET -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.DexAnnotationSet[] EMPTY_ARRAY -> c
-    com.android.tools.r8.graph.DexAnnotation[] annotations -> a
-    int sorted -> b
+    com.android.tools.r8.graph.DexAnnotationSet THE_EMPTY_ANNOTATIONS_SET -> b
+    com.android.tools.r8.graph.DexAnnotationSet[] EMPTY_ARRAY -> a
+    com.android.tools.r8.graph.DexAnnotation[] annotations -> d
+    int sorted -> e
+    boolean $assertionsDisabled -> c
     1:6:void <clinit>():19:24 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexAnnotation[]):30:30 -> <init>
     2:5:void <init>(com.android.tools.r8.graph.DexAnnotation[]):28:31 -> <init>
@@ -16218,14 +16192,14 @@
     1:1:int computeHashCode():68:68 -> computeHashCode
     1:1:java.lang.String toString():179:179 -> toString
 com.android.tools.r8.graph.DexApplication -> com.android.tools.r8.graph.y:
-    com.android.tools.r8.naming.ClassNameMapper proguardMap -> c
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> f
-    com.android.tools.r8.utils.Timing timing -> d
-    com.android.tools.r8.graph.DexString highestSortingString -> g
-    com.android.tools.r8.utils.InternalOptions options -> e
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.com.google.common.collect.ImmutableSet mainDexList -> b
-    com.android.tools.r8.com.google.common.collect.ImmutableList dataResourceProviders -> a
+    com.android.tools.r8.utils.Timing timing -> e
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> g
+    com.android.tools.r8.naming.ClassNameMapper proguardMap -> d
+    com.android.tools.r8.graph.DexString highestSortingString -> h
+    com.android.tools.r8.utils.InternalOptions options -> f
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.com.google.common.collect.ImmutableList dataResourceProviders -> b
+    com.android.tools.r8.com.google.common.collect.ImmutableSet mainDexList -> c
     1:1:void <clinit>():25:25 -> <clinit>
     1:8:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableSet,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):48:55 -> <init>
     com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType) -> a
@@ -16242,16 +16216,16 @@
     java.util.List programClasses() -> f
     com.android.tools.r8.graph.DirectMappedDexApplication toDirect() -> g
 com.android.tools.r8.graph.DexApplication$Builder -> com.android.tools.r8.graph.y$a:
-    java.util.List dataResourceProviders -> b
-    java.util.List programClasses -> a
-    java.util.Set mainDexList -> h
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
-    com.android.tools.r8.utils.Timing timing -> f
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.utils.InternalOptions options -> c
-    com.android.tools.r8.naming.ClassNameMapper proguardMap -> e
-    com.android.tools.r8.graph.DexString highestSortingString -> g
-    java.util.Collection synthesizedClasses -> i
+    java.util.List programClasses -> b
+    com.android.tools.r8.utils.Timing timing -> g
+    java.util.Set mainDexList -> i
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
+    com.android.tools.r8.naming.ClassNameMapper proguardMap -> f
+    java.util.List dataResourceProviders -> c
+    com.android.tools.r8.utils.InternalOptions options -> d
+    com.android.tools.r8.graph.DexString highestSortingString -> h
+    boolean $assertionsDisabled -> a
+    java.util.Collection synthesizedClasses -> j
     1:1:void <clinit>():118:118 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):139:139 -> <init>
     2:19:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):126:143 -> <init>
@@ -16309,14 +16283,14 @@
 com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider -> com.android.tools.r8.graph.z$a:
     java.io.PrintStream get(com.android.tools.r8.graph.DexClass) -> a
 com.android.tools.r8.graph.DexCallSite -> com.android.tools.r8.graph.B:
-    com.android.tools.r8.graph.DexString methodName -> b
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.graph.DexProto methodProto -> c
-    com.android.tools.r8.graph.DexEncodedArray encodedArray -> f
-    java.util.List bootstrapArgs -> e
-    int instructionOffset -> h
-    com.android.tools.r8.graph.DexMethodHandle bootstrapMethod -> d
-    com.android.tools.r8.graph.DexMethod method -> g
+    com.android.tools.r8.graph.DexString methodName -> c
+    java.util.List bootstrapArgs -> f
+    com.android.tools.r8.graph.DexProto methodProto -> d
+    com.android.tools.r8.graph.DexEncodedArray encodedArray -> g
+    com.android.tools.r8.graph.DexMethod method -> h
+    int instructionOffset -> i
+    com.android.tools.r8.graph.DexMethodHandle bootstrapMethod -> e
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():25:25 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):44:44 -> <init>
     2:22:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):33:53 -> <init>
@@ -16337,10 +16311,10 @@
     1:11:java.lang.String toString():105:115 -> toString
 com.android.tools.r8.graph.DexCallSite$1 -> com.android.tools.r8.graph.A:
 com.android.tools.r8.graph.DexCallSite$HashBuilder -> com.android.tools.r8.graph.B$a:
-    java.io.ByteArrayOutputStream bytes -> a
-    com.android.tools.r8.graph.DexCallSite this$0 -> c
-    java.io.ObjectOutputStream out -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexCallSite this$0 -> d
+    java.io.ByteArrayOutputStream bytes -> b
+    boolean $assertionsDisabled -> a
+    java.io.ObjectOutputStream out -> c
     1:1:void <clinit>():170:170 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexCallSite):170:170 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexCallSite$1):170:170 -> <init>
@@ -16388,177 +16362,182 @@
     61:85:void write(java.util.List):220:244 -> a
     86:102:java.lang.String build():251:267 -> a
 com.android.tools.r8.graph.DexClass -> com.android.tools.r8.graph.C:
-    com.android.tools.r8.graph.ClassAccessFlags accessFlags -> e
-    com.android.tools.r8.graph.DexEncodedField[] staticFields -> j
-    java.util.List nestMembers -> p
-    com.android.tools.r8.graph.DexEncodedField[] instanceFields -> k
-    com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMethod -> m
-    boolean $assertionsDisabled -> q
-    com.android.tools.r8.graph.MethodCollection methodCollection -> l
-    com.android.tools.r8.utils.OptionalBool isResolvable -> i
-    com.android.tools.r8.origin.Origin origin -> c
-    com.android.tools.r8.graph.NestHostClassAttribute nestHost -> o
-    com.android.tools.r8.graph.DexType type -> d
-    com.android.tools.r8.graph.DexString sourceFile -> h
-    java.util.List innerClasses -> n
-    com.android.tools.r8.graph.DexTypeList interfaces -> g
-    com.android.tools.r8.graph.DexType superType -> f
+    com.android.tools.r8.graph.ClassAccessFlags accessFlags -> f
+    java.util.List nestMembers -> q
+    com.android.tools.r8.graph.DexEncodedField[] instanceFields -> l
+    com.android.tools.r8.graph.DexEncodedField[] staticFields -> k
+    java.util.List innerClasses -> o
+    com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMethod -> n
+    com.android.tools.r8.graph.MethodCollection methodCollection -> m
+    com.android.tools.r8.utils.OptionalBool isResolvable -> j
+    com.android.tools.r8.graph.NestHostClassAttribute nestHost -> p
+    com.android.tools.r8.origin.Origin origin -> d
+    com.android.tools.r8.graph.DexString sourceFile -> i
+    com.android.tools.r8.graph.DexTypeList interfaces -> h
+    com.android.tools.r8.graph.DexType superType -> g
+    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexType type -> e
     1:1:void <clinit>():28:28 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):78:78 -> <init>
     2:66:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):41:105 -> <init>
     67:67:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):95:95 -> <init>
-    1:2:com.android.tools.r8.graph.InnerClassAttribute getInnerClassAttributeForThisClass():726:727 -> A
-    1:1:java.util.List getInnerClasses():700:700 -> B
-    com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo() -> C
-    1:1:com.android.tools.r8.graph.MethodCollection getMethodCollection():125:125 -> D
-    1:5:com.android.tools.r8.graph.DexType getNestHost():788:792 -> E
-    1:1:com.android.tools.r8.graph.NestHostClassAttribute getNestHostClassAttribute():798:798 -> F
-    1:1:java.util.List getNestMembersClassAttributes():802:802 -> G
-    1:1:com.android.tools.r8.graph.DexType getType():546:546 -> H
-    1:1:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():538:538 -> I
-    1:1:boolean hasClassInitializer():550 -> I
-    1:1:com.android.tools.r8.graph.DexEncodedMethod getDefaultInitializer():568:568 -> J
-    1:1:boolean hasDefaultInitializer():554 -> J
-    1:2:boolean hasStaticSynchronizedMethods():833:834 -> K
-    1:5:java.util.List instanceFields():285:289 -> L
-    1:1:boolean isAbstract():461:461 -> M
-    1:1:boolean isAnnotation():465:465 -> N
-    1:4:boolean isAnonymousClass():760:763 -> O
-    boolean isClasspathClass() -> P
-    1:1:boolean isEnum():481:481 -> Q
-    2:2:boolean com.android.tools.r8.graph.ClassAccessFlags.isEnum():191:191 -> Q
-    2:2:boolean isEnum():481 -> Q
-    1:1:boolean isInANest():767:767 -> R
-    1:1:boolean isInterface():477:477 -> S
-    boolean isLibraryClass() -> T
-    1:3:boolean isLocalClass():747:749 -> U
-    1:3:boolean isMemberClass():753:755 -> V
-    1:1:boolean isNestHost():780:780 -> W
-    1:1:boolean isNestMember():784:784 -> X
-    boolean isNotProgramClass() -> Y
-    1:1:java.lang.Iterable members():121:121 -> Z
-    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> Z
-    2:2:java.lang.Iterable members():121 -> Z
+    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():711:711 -> A
+    1:2:com.android.tools.r8.graph.InnerClassAttribute getInnerClassAttributeForThisClass():733:734 -> B
+    1:1:java.util.List getInnerClasses():707:707 -> C
+    com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo() -> D
+    1:1:com.android.tools.r8.graph.MethodCollection getMethodCollection():125:125 -> E
+    1:5:com.android.tools.r8.graph.DexType getNestHost():795:799 -> F
+    1:1:com.android.tools.r8.graph.NestHostClassAttribute getNestHostClassAttribute():805:805 -> G
+    1:1:java.util.List getNestMembersClassAttributes():809:809 -> H
+    1:1:com.android.tools.r8.graph.DexType getType():553:553 -> I
+    1:1:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():545:545 -> J
+    1:1:boolean hasClassInitializer():557 -> J
+    1:1:com.android.tools.r8.graph.DexEncodedMethod getDefaultInitializer():575:575 -> K
+    1:1:boolean hasDefaultInitializer():561 -> K
+    1:2:boolean hasStaticSynchronizedMethods():840:841 -> L
+    1:5:java.util.List instanceFields():283:287 -> M
+    1:1:boolean isAbstract():468:468 -> N
+    1:1:boolean isAnnotation():472:472 -> O
+    1:4:boolean isAnonymousClass():767:770 -> P
+    boolean isClasspathClass() -> Q
+    1:1:boolean isEnum():488:488 -> R
+    2:2:boolean com.android.tools.r8.graph.ClassAccessFlags.isEnum():195:195 -> R
+    2:2:boolean isEnum():488 -> R
+    1:1:boolean isInANest():774:774 -> S
+    1:1:boolean isInterface():484:484 -> T
+    boolean isLibraryClass() -> U
+    1:3:boolean isLocalClass():754:756 -> V
+    1:3:boolean isMemberClass():760:762 -> W
+    1:1:boolean isNestHost():787:787 -> X
+    1:1:boolean isNestMember():791:791 -> Y
+    boolean isNotProgramClass() -> Z
     void addDependencies(com.android.tools.r8.dex.MixedSectionCollection) -> a
     java.util.Iterator lambda$allImmediateSupertypes$0(java.util.Iterator) -> a
     1:1:java.lang.Iterable directMethods(java.util.function.Predicate):146:146 -> a
     2:2:void addDirectMethods(java.util.Collection):150:150 -> a
     3:3:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):158:158 -> a
-    4:4:void virtualizeMethods(java.util.Set):199:199 -> a
-    5:9:void forEachField(java.util.function.Consumer):218:222 -> a
-    10:15:void appendStaticField(com.android.tools.r8.graph.DexEncodedField):235:240 -> a
-    16:18:void setInstanceField(int,com.android.tools.r8.graph.DexEncodedField):323:325 -> a
-    19:21:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):329:331 -> a
-    22:23:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):345:346 -> a
-    24:24:com.android.tools.r8.graph.DexEncodedField lookupInstanceField(com.android.tools.r8.graph.DexField):367:367 -> a
-    24:24:com.android.tools.r8.graph.DexEncodedField lookupField(com.android.tools.r8.graph.DexField):385 -> a
-    25:25:com.android.tools.r8.graph.DexEncodedField lookupStaticField(com.android.tools.r8.graph.DexField):362:362 -> a
-    25:25:com.android.tools.r8.graph.DexEncodedField lookupField(com.android.tools.r8.graph.DexField):386 -> a
-    26:26:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(com.android.tools.r8.graph.DexMethod):391:391 -> a
-    27:28:com.android.tools.r8.graph.DexEncodedMember lookupTarget(com.android.tools.r8.graph.DexEncodedMember[],com.android.tools.r8.graph.DexMember):452:453 -> a
-    29:39:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexEncodedMember):0:10 -> a
-    29:39:com.android.tools.r8.graph.DexEncodedMember lookupTarget(com.android.tools.r8.graph.DexEncodedMember[],com.android.tools.r8.graph.DexMember):453 -> a
-    40:42:com.android.tools.r8.graph.DexEncodedMethod getInitializer(com.android.tools.r8.graph.DexType[]):558:560 -> a
-    43:53:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):618:628 -> a
-    54:56:boolean hasClassInitializerThatCannotBePostponed():642:644 -> a
-    54:56:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):632 -> a
-    57:57:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():538:538 -> a
-    57:57:boolean hasClassInitializerThatCannotBePostponed():646 -> a
-    57:57:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):632 -> a
-    58:61:boolean hasClassInitializerThatCannotBePostponed():647:650 -> a
-    58:61:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):632 -> a
-    62:65:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):635:638 -> a
-    66:66:boolean hasClassInitializerThatCannotBePostponed():650:650 -> a
-    66:66:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):632 -> a
-    67:67:boolean definesFinalizer(com.android.tools.r8.graph.DexItemFactory):691:691 -> a
-    68:68:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):401:401 -> a
-    68:68:boolean definesFinalizer(com.android.tools.r8.graph.DexItemFactory):691 -> a
-    69:77:void replaceInnerClassAttributeForThisClass(com.android.tools.r8.graph.InnerClassAttribute):735:743 -> a
-    78:79:void setNestHost(com.android.tools.r8.graph.DexType):775:776 -> a
-    80:80:boolean isValid(com.android.tools.r8.utils.InternalOptions):824:824 -> a
-    81:85:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):179:183 -> a
-    81:85:boolean isValid(com.android.tools.r8.utils.InternalOptions):824 -> a
-    86:89:boolean isValid(com.android.tools.r8.utils.InternalOptions):825:828 -> a
-    1:1:java.lang.Iterable methods():129:129 -> a0
+    4:4:void virtualizeMethods(java.util.Set):197:197 -> a
+    5:9:void forEachField(java.util.function.Consumer):216:220 -> a
+    10:15:void appendStaticField(com.android.tools.r8.graph.DexEncodedField):233:238 -> a
+    16:18:void setInstanceField(int,com.android.tools.r8.graph.DexEncodedField):321:323 -> a
+    19:21:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):327:329 -> a
+    22:23:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):343:344 -> a
+    24:24:com.android.tools.r8.graph.DexEncodedField lookupInstanceField(com.android.tools.r8.graph.DexField):365:365 -> a
+    24:24:com.android.tools.r8.graph.DexEncodedField lookupField(com.android.tools.r8.graph.DexField):383 -> a
+    25:25:com.android.tools.r8.graph.DexEncodedField lookupStaticField(com.android.tools.r8.graph.DexField):360:360 -> a
+    25:25:com.android.tools.r8.graph.DexEncodedField lookupField(com.android.tools.r8.graph.DexField):384 -> a
+    26:26:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(com.android.tools.r8.graph.DexMethod):389:389 -> a
+    27:27:com.android.tools.r8.graph.DexEncodedMember lookupMember(com.android.tools.r8.graph.DexMember):412:412 -> a
+    28:28:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):418:418 -> a
+    28:28:com.android.tools.r8.graph.DexEncodedMember lookupMember(com.android.tools.r8.graph.DexMember):412 -> a
+    29:30:com.android.tools.r8.graph.DexEncodedMember lookupTarget(com.android.tools.r8.graph.DexEncodedMember[],com.android.tools.r8.graph.DexMember):459:460 -> a
+    31:44:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexEncodedMember):0:13 -> a
+    31:44:com.android.tools.r8.graph.DexEncodedMember lookupTarget(com.android.tools.r8.graph.DexEncodedMember[],com.android.tools.r8.graph.DexMember):460 -> a
+    45:47:com.android.tools.r8.graph.DexEncodedMethod getInitializer(com.android.tools.r8.graph.DexType[]):565:567 -> a
+    48:58:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):625:635 -> a
+    59:61:boolean hasClassInitializerThatCannotBePostponed():649:651 -> a
+    59:61:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):639 -> a
+    62:62:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():545:545 -> a
+    62:62:boolean hasClassInitializerThatCannotBePostponed():653 -> a
+    62:62:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):639 -> a
+    63:66:boolean hasClassInitializerThatCannotBePostponed():654:657 -> a
+    63:66:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):639 -> a
+    67:70:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):642:645 -> a
+    71:71:boolean hasClassInitializerThatCannotBePostponed():657:657 -> a
+    71:71:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):639 -> a
+    72:72:boolean definesFinalizer(com.android.tools.r8.graph.DexItemFactory):698:698 -> a
+    73:73:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):399:399 -> a
+    73:73:boolean definesFinalizer(com.android.tools.r8.graph.DexItemFactory):698 -> a
+    74:82:void replaceInnerClassAttributeForThisClass(com.android.tools.r8.graph.InnerClassAttribute):742:750 -> a
+    83:84:void setNestHost(com.android.tools.r8.graph.DexType):782:783 -> a
+    85:85:boolean isValid(com.android.tools.r8.utils.InternalOptions):831:831 -> a
+    86:89:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):179:182 -> a
+    86:89:boolean isValid(com.android.tools.r8.utils.InternalOptions):831 -> a
+    90:93:boolean isValid(com.android.tools.r8.utils.InternalOptions):832:835 -> a
+    1:1:java.lang.Iterable members():121:121 -> a0
+    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> a0
+    2:2:java.lang.Iterable members():121 -> a0
     com.android.tools.r8.graph.DexClass asDexClass() -> b
     1:3:java.lang.Iterable fields(java.util.function.Predicate):115:117 -> b
     4:4:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> b
     4:4:java.lang.Iterable fields(java.util.function.Predicate):115 -> b
     5:5:void addVirtualMethods(java.util.Collection):170:170 -> b
     6:6:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):174:174 -> b
-    7:7:void forEachMethod(java.util.function.Consumer):191:191 -> b
+    7:7:void forEachMethod(java.util.function.Consumer):189:189 -> b
     8:8:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):88:88 -> b
-    8:8:void forEachMethod(java.util.function.Consumer):191 -> b
-    9:11:void setStaticField(int,com.android.tools.r8.graph.DexEncodedField):264:266 -> b
-    12:14:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):270:272 -> b
-    15:15:com.android.tools.r8.graph.DexEncodedField lookupInstanceField(com.android.tools.r8.graph.DexField):367:367 -> b
-    16:16:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):411:411 -> b
-    17:17:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):613:613 -> b
-    18:18:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):612:612 -> b
-    19:25:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):678:684 -> b
-    26:26:boolean lambda$defaultValuesForStaticFieldsMayTriggerAllocation$1(com.android.tools.r8.graph.DexEncodedField):696:696 -> b
-    1:5:java.util.List staticFields():227:231 -> b0
-    1:10:void appendStaticFields(java.util.Collection):244:253 -> c
-    11:15:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):335:339 -> c
-    16:16:com.android.tools.r8.graph.DexEncodedField lookupStaticField(com.android.tools.r8.graph.DexField):362:362 -> c
-    17:17:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(java.util.function.Predicate):396:396 -> c
-    18:18:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):401:401 -> c
-    19:19:boolean hasInstanceFieldsDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):813:813 -> c
-    20:20:boolean hasInstanceFields():809:809 -> c
-    20:20:boolean hasInstanceFieldsDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):816 -> c
-    21:21:boolean hasInstanceFieldsDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):819:819 -> c
-    22:22:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> c
-    22:22:boolean hasInstanceFieldsDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):819 -> c
-    23:23:boolean hasInstanceFieldsDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):820:820 -> c
-    1:4:boolean verifyNoDuplicateFields():352:355 -> c0
+    8:8:void forEachMethod(java.util.function.Consumer):189 -> b
+    9:11:void setStaticField(int,com.android.tools.r8.graph.DexEncodedField):262:264 -> b
+    12:14:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):268:270 -> b
+    15:15:com.android.tools.r8.graph.DexEncodedField lookupInstanceField(com.android.tools.r8.graph.DexField):365:365 -> b
+    16:16:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):418:418 -> b
+    17:17:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):620:620 -> b
+    18:18:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):619:619 -> b
+    19:25:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):685:691 -> b
+    26:26:boolean lambda$defaultValuesForStaticFieldsMayTriggerAllocation$1(com.android.tools.r8.graph.DexEncodedField):703:703 -> b
+    1:1:java.lang.Iterable methods():129:129 -> b0
+    1:10:void appendStaticFields(java.util.Collection):242:251 -> c
+    11:15:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):333:337 -> c
+    16:16:com.android.tools.r8.graph.DexEncodedField lookupStaticField(com.android.tools.r8.graph.DexField):360:360 -> c
+    17:17:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(java.util.function.Predicate):394:394 -> c
+    18:18:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):399:399 -> c
+    19:19:boolean hasInstanceFieldsDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):820:820 -> c
+    20:20:boolean hasInstanceFields():816:816 -> c
+    20:20:boolean hasInstanceFieldsDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):823 -> c
+    21:21:boolean hasInstanceFieldsDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):826:826 -> c
+    22:22:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> c
+    22:22:boolean hasInstanceFieldsDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):826 -> c
+    23:23:boolean hasInstanceFieldsDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):827:827 -> c
+    1:5:java.util.List staticFields():225:229 -> c0
     1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):138:138 -> collectMixedSectionItems
     1:1:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):154:154 -> d
-    2:2:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(java.util.function.Predicate):406:406 -> d
-    3:3:boolean isFinal():469:469 -> d
-    3:3:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):473 -> d
-    1:1:java.lang.Iterable virtualMethods():162:162 -> d0
+    2:2:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(java.util.function.Predicate):404:404 -> d
+    3:3:boolean isFinal():476:476 -> d
+    3:3:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):480 -> d
+    1:4:boolean verifyNoDuplicateFields():350:353 -> d0
     1:1:java.lang.Iterable methods(java.util.function.Predicate):133:133 -> e
-    2:8:boolean isResolvable(com.android.tools.r8.graph.AppView):584:590 -> e
+    2:8:boolean isResolvable(com.android.tools.r8.graph.AppView):591:597 -> e
     9:9:boolean com.android.tools.r8.graph.DexType.isResolvable(com.android.tools.r8.graph.AppView):0:0 -> e
-    9:9:boolean isResolvable(com.android.tools.r8.graph.AppView):591 -> e
-    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> e
-    10:10:boolean com.android.tools.r8.graph.DexType.isResolvable(com.android.tools.r8.graph.AppView):296 -> e
-    10:10:boolean isResolvable(com.android.tools.r8.graph.AppView):591 -> e
-    11:11:boolean com.android.tools.r8.graph.DexType.isResolvable(com.android.tools.r8.graph.AppView):297:297 -> e
-    11:11:boolean isResolvable(com.android.tools.r8.graph.AppView):591 -> e
-    12:15:boolean isResolvable(com.android.tools.r8.graph.AppView):597:600 -> e
-    1:1:boolean isSerializable(com.android.tools.r8.graph.AppView):604:604 -> f
-    2:3:void removeEnclosingMethod(java.util.function.Predicate):712:713 -> f
-    1:1:void removeInnerClasses(java.util.function.Predicate):722:722 -> g
+    9:9:boolean isResolvable(com.android.tools.r8.graph.AppView):598 -> e
+    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> e
+    10:10:boolean com.android.tools.r8.graph.DexType.isResolvable(com.android.tools.r8.graph.AppView):322 -> e
+    10:10:boolean isResolvable(com.android.tools.r8.graph.AppView):598 -> e
+    11:11:boolean com.android.tools.r8.graph.DexType.isResolvable(com.android.tools.r8.graph.AppView):323:323 -> e
+    11:11:boolean isResolvable(com.android.tools.r8.graph.AppView):598 -> e
+    12:15:boolean isResolvable(com.android.tools.r8.graph.AppView):604:607 -> e
+    1:1:java.lang.Iterable virtualMethods():162:162 -> e0
+    1:1:boolean isSerializable(com.android.tools.r8.graph.AppView):611:611 -> f
+    2:3:void removeEnclosingMethodAttribute(java.util.function.Predicate):719:720 -> f
+    1:1:void removeInnerClasses(java.util.function.Predicate):729:729 -> g
     boolean isDexClass() -> h
     1:1:java.lang.Iterable virtualMethods(java.util.function.Predicate):166:166 -> h
-    boolean isStaticMember() -> m
-    1:1:com.android.tools.r8.graph.DexReference toReference():488:488 -> n
-    1:3:java.lang.Iterable allImmediateSupertypes():664:666 -> o
-    4:7:java.lang.Iterable allImmediateSupertypes():665:668 -> o
-    1:1:java.util.List allMethodsSorted():195:195 -> p
-    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> q
-    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> r
-    1:1:void clearEnclosingMethod():708:708 -> s
-    1:1:void clearInnerClasses():718:718 -> t
-    1:1:void clearNestHost():771:771 -> u
-    1:2:boolean defaultValuesForStaticFieldsMayTriggerAllocation():695:696 -> v
-    1:1:java.lang.Iterable directMethods():142:142 -> w
-    1:1:java.lang.Iterable fields():111:111 -> x
-    1:1:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():538:538 -> y
-    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethod():704:704 -> z
+    1:1:boolean isStatic():536:536 -> m
+    boolean isStaticMember() -> n
+    1:1:com.android.tools.r8.graph.DexReference toReference():495:495 -> o
+    1:3:java.lang.Iterable allImmediateSupertypes():671:673 -> p
+    4:7:java.lang.Iterable allImmediateSupertypes():672:675 -> p
+    1:1:java.util.List allMethodsSorted():193:193 -> q
+    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> r
+    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> s
+    1:1:void clearEnclosingMethodAttribute():715:715 -> t
+    1:1:void clearInnerClasses():725:725 -> u
+    1:1:void clearNestHost():778:778 -> v
+    1:2:boolean defaultValuesForStaticFieldsMayTriggerAllocation():702:703 -> w
+    1:1:java.lang.Iterable directMethods():142:142 -> x
+    1:1:java.lang.Iterable fields():111:111 -> y
+    1:1:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():545:545 -> z
 com.android.tools.r8.graph.DexClass$FieldSetter -> com.android.tools.r8.graph.C$a:
     void setField(int,com.android.tools.r8.graph.DexEncodedField) -> a
 com.android.tools.r8.graph.DexClassAndField -> com.android.tools.r8.graph.D:
-    com.android.tools.r8.graph.DexClass holder -> a
-    com.android.tools.r8.graph.DexEncodedField field -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexClass holder -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexEncodedField field -> c
     1:1:void <clinit>():10:10 -> <clinit>
     1:7:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):15:21 -> <init>
     com.android.tools.r8.graph.ProgramField asProgramField() -> a
     1:1:com.android.tools.r8.graph.DexEncodedField getDefinition():41:41 -> b
     1:1:com.android.tools.r8.graph.DexClass getHolder():33:33 -> c
-    1:1:com.android.tools.r8.graph.DexField getReference():45:45 -> d
+    1:1:com.android.tools.r8.graph.DexType getHolderType():37:37 -> d
+    1:1:com.android.tools.r8.graph.DexField getReference():45:45 -> e
     1:1:boolean equals(java.lang.Object):71:71 -> equals
     1:1:int hashCode():76:76 -> hashCode
     1:1:com.android.tools.r8.graph.DexField getReference():45:45 -> toString
@@ -16567,9 +16546,9 @@
     2:2:java.lang.String toSourceString():61:61 -> toString
     2:2:java.lang.String toString():66 -> toString
 com.android.tools.r8.graph.DexClassAndMethod -> com.android.tools.r8.graph.E:
-    com.android.tools.r8.graph.DexClass holder -> a
-    com.android.tools.r8.graph.DexEncodedMethod method -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexClass holder -> b
+    com.android.tools.r8.graph.DexEncodedMethod method -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():10:10 -> <clinit>
     1:7:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):15:21 -> <init>
     1:7:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):25:31 -> a
@@ -16590,24 +16569,24 @@
     boolean $assertionsDisabled -> r
     1:1:void <clinit>():16:16 -> <clinit>
     1:18:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean):36:53 -> <init>
-    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():90:90 -> C
-    boolean isClasspathClass() -> P
-    boolean isNotProgramClass() -> Y
+    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():90:90 -> D
+    boolean isClasspathClass() -> Q
+    boolean isNotProgramClass() -> Z
     1:1:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):70:70 -> a
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):59:59 -> collectIndexedItems
-    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> q
+    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> r
     1:1:java.lang.String toString():64:64 -> toString
 com.android.tools.r8.graph.DexCode -> com.android.tools.r8.graph.G:
-    com.android.tools.r8.graph.DexCode$Try[] tries -> d
-    com.android.tools.r8.graph.DexDebugInfoForWriting debugInfoForWriting -> i
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.graph.DexString highestSortingString -> g
-    com.android.tools.r8.code.Instruction[] instructions -> f
-    int incomingRegisterSize -> b
-    com.android.tools.r8.graph.DexCode$TryHandler[] handlers -> e
-    int outgoingRegisterSize -> c
-    com.android.tools.r8.graph.DexDebugInfo debugInfo -> h
-    int registerSize -> a
+    com.android.tools.r8.graph.DexDebugInfoForWriting debugInfoForWriting -> j
+    com.android.tools.r8.code.Instruction[] instructions -> g
+    com.android.tools.r8.graph.DexString highestSortingString -> h
+    int outgoingRegisterSize -> d
+    boolean $assertionsDisabled -> a
+    int registerSize -> b
+    int incomingRegisterSize -> c
+    com.android.tools.r8.graph.DexCode$TryHandler[] handlers -> f
+    com.android.tools.r8.graph.DexCode$Try[] tries -> e
+    com.android.tools.r8.graph.DexDebugInfo debugInfo -> i
     1:1:void <clinit>():34:34 -> <clinit>
     1:9:void <init>(int,int,int,com.android.tools.r8.code.Instruction[],com.android.tools.r8.graph.DexCode$Try[],com.android.tools.r8.graph.DexCode$TryHandler[],com.android.tools.r8.graph.DexDebugInfo):57:65 -> <init>
     1:1:com.android.tools.r8.graph.DexDebugInfo getDebugInfo():101:101 -> a
@@ -16637,11 +16616,11 @@
     2:67:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):277:342 -> toString
     68:68:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):323:323 -> toString
 com.android.tools.r8.graph.DexCode$Try -> com.android.tools.r8.graph.G$a:
-    boolean $assertionsDisabled -> e
-    int handlerIndex -> d
-    int startAddress -> b
-    int instructionCount -> c
-    int handlerOffset -> a
+    int instructionCount -> d
+    int handlerIndex -> e
+    boolean $assertionsDisabled -> a
+    int handlerOffset -> b
+    int startAddress -> c
     1:1:void <clinit>():461:461 -> <clinit>
     1:5:void <init>(int,int,int):470:474 -> <init>
     1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):523:523 -> collectMixedSectionItems
@@ -16649,9 +16628,9 @@
     1:1:int hashCode():483:483 -> hashCode
     1:4:java.lang.String toString():506:509 -> toString
 com.android.tools.r8.graph.DexCode$TryHandler -> com.android.tools.r8.graph.G$b:
-    com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] pairs -> a
-    int catchAllAddr -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] pairs -> b
+    boolean $assertionsDisabled -> a
+    int catchAllAddr -> c
     1:1:void <clinit>():528:528 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[],int):535:537 -> <init>
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):563:563 -> collectIndexedItems
@@ -16660,45 +16639,45 @@
     1:1:int hashCode():542:542 -> hashCode
     1:16:java.lang.String toString():574:589 -> toString
 com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair -> com.android.tools.r8.graph.G$b$a:
-    com.android.tools.r8.graph.DexType type -> a
-    int addr -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexType type -> b
+    boolean $assertionsDisabled -> a
+    int addr -> c
     1:1:void <clinit>():592:592 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexType,int):597:599 -> <init>
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):605:605 -> collectIndexedItems
-    2:154:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:152 -> collectIndexedItems
-    2:154:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):605 -> collectIndexedItems
-    155:400:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    155:400:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    155:400:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):605 -> collectIndexedItems
+    2:180:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:178 -> collectIndexedItems
+    2:180:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):605 -> collectIndexedItems
+    181:426:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    181:426:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    181:426:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):605 -> collectIndexedItems
     1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):611:611 -> collectMixedSectionItems
     1:3:boolean equals(java.lang.Object):624:626 -> equals
     1:1:int hashCode():616:616 -> hashCode
 com.android.tools.r8.graph.DexDebugEntry -> com.android.tools.r8.graph.H:
-    com.android.tools.r8.ir.code.Position callerPosition -> i
-    com.android.tools.r8.graph.DexString sourceFile -> d
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.graph.DexMethod method -> h
-    boolean prologueEnd -> e
-    boolean epilogueBegin -> f
-    boolean lineEntry -> a
-    int address -> b
-    int line -> c
-    java.util.Map locals -> g
+    com.android.tools.r8.ir.code.Position callerPosition -> j
+    com.android.tools.r8.graph.DexString sourceFile -> e
+    com.android.tools.r8.graph.DexMethod method -> i
+    boolean prologueEnd -> f
+    int line -> d
+    boolean epilogueBegin -> g
+    boolean $assertionsDisabled -> a
+    boolean lineEntry -> b
+    int address -> c
+    java.util.Map locals -> h
     1:1:void <clinit>():13:13 -> <clinit>
     1:11:void <init>(boolean,int,int,com.android.tools.r8.graph.DexString,boolean,boolean,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):34:44 -> <init>
     1:38:java.lang.String toString(boolean):53:90 -> a
     1:1:java.lang.String toString():49:49 -> toString
 com.android.tools.r8.graph.DexDebugEntryBuilder -> com.android.tools.r8.graph.I:
-    com.android.tools.r8.graph.DexDebugPositionState positionState -> h
-    java.util.Map locals -> c
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.graph.DexDebugEntry pending -> e
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap arguments -> d
-    java.util.List entries -> g
-    boolean prologueEnd -> a
-    boolean epilogueBegin -> b
-    java.util.Map canonicalizedLocals -> f
+    com.android.tools.r8.graph.DexDebugPositionState positionState -> i
+    java.util.Map locals -> d
+    com.android.tools.r8.graph.DexDebugEntry pending -> f
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap arguments -> e
+    java.util.List entries -> h
+    boolean $assertionsDisabled -> a
+    boolean prologueEnd -> b
+    boolean epilogueBegin -> c
+    java.util.Map canonicalizedLocals -> g
     1:1:void <clinit>():22:22 -> <clinit>
     1:1:void <init>(int,com.android.tools.r8.graph.DexMethod):59:59 -> <init>
     2:21:void <init>(int,com.android.tools.r8.graph.DexMethod):43:62 -> <init>
@@ -16755,8 +16734,8 @@
     1:1:int hashCode():170:170 -> hashCode
     1:1:java.lang.String toString():165:165 -> toString
 com.android.tools.r8.graph.DexDebugEvent$AdvancePC -> com.android.tools.r8.graph.J$b:
-    int delta -> b
-    boolean $assertionsDisabled -> c
+    boolean $assertionsDisabled -> b
+    int delta -> c
     1:1:void <clinit>():41:41 -> <clinit>
     1:2:void <init>(int):51:52 -> <init>
     1:2:void writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping):47:48 -> a
@@ -16765,8 +16744,8 @@
     1:1:int hashCode():69:69 -> hashCode
     1:1:java.lang.String toString():64:64 -> toString
 com.android.tools.r8.graph.DexDebugEvent$Default -> com.android.tools.r8.graph.J$c:
-    int value -> b
-    boolean $assertionsDisabled -> c
+    boolean $assertionsDisabled -> b
+    int value -> c
     1:1:void <clinit>():426:426 -> <clinit>
     1:3:void <init>(int):430:432 -> <init>
     1:1:void writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping):437:437 -> a
@@ -16809,9 +16788,9 @@
     1:2:int hashCode():374:375 -> hashCode
     1:1:java.lang.String toString():369:369 -> toString
 com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame -> com.android.tools.r8.graph.J$h:
-    com.android.tools.r8.graph.DexMethod callee -> b
-    com.android.tools.r8.ir.code.Position caller -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexMethod callee -> c
+    com.android.tools.r8.ir.code.Position caller -> d
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():385:385 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):390:393 -> <init>
     void writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping) -> a
@@ -16836,31 +16815,31 @@
     2:247:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
     2:247:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):220 -> collectIndexedItems
     248:248:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):222:222 -> collectIndexedItems
-    249:401:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:152 -> collectIndexedItems
-    249:401:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):223 -> collectIndexedItems
-    402:647:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    402:647:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    402:647:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):223 -> collectIndexedItems
-    648:648:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):225:225 -> collectIndexedItems
-    649:894:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    649:894:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):226 -> collectIndexedItems
+    249:427:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:178 -> collectIndexedItems
+    249:427:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):223 -> collectIndexedItems
+    428:673:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    428:673:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    428:673:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):223 -> collectIndexedItems
+    674:674:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):225:225 -> collectIndexedItems
+    675:920:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    675:920:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):226 -> collectIndexedItems
     1:14:boolean equals(java.lang.Object):251:264 -> equals
     1:5:int hashCode():242:246 -> hashCode
     1:1:java.lang.String toString():237:237 -> toString
 com.android.tools.r8.graph.DexDebugEventBuilder -> com.android.tools.r8.graph.K:
-    boolean $assertionsDisabled -> m
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    int startLine -> l
-    com.android.tools.r8.ir.code.Position emittedPosition -> i
-    com.android.tools.r8.graph.DexEncodedMethod method -> a
-    int emittedPc -> h
-    com.android.tools.r8.utils.InternalOptions options -> c
-    java.util.ArrayList arguments -> d
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap emittedLocals -> j
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap pendingLocals -> f
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap lastKnownLocals -> e
-    boolean pendingLocalChanges -> g
-    java.util.List events -> k
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    com.android.tools.r8.ir.code.Position emittedPosition -> j
+    int startLine -> m
+    int emittedPc -> i
+    com.android.tools.r8.utils.InternalOptions options -> d
+    java.util.ArrayList arguments -> e
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap emittedLocals -> k
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap pendingLocals -> g
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap lastKnownLocals -> f
+    com.android.tools.r8.graph.DexEncodedMethod method -> b
+    boolean pendingLocalChanges -> h
+    boolean $assertionsDisabled -> a
+    java.util.List events -> l
     1:1:void <clinit>():28:28 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):61:61 -> <init>
     2:22:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):44:64 -> <init>
@@ -16914,10 +16893,10 @@
     void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd) -> a
     void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal) -> a
 com.android.tools.r8.graph.DexDebugInfo -> com.android.tools.r8.graph.M:
-    com.android.tools.r8.graph.DexString[] parameters -> b
-    com.android.tools.r8.graph.DexDebugEvent[] events -> c
-    boolean $assertionsDisabled -> d
-    int startLine -> a
+    com.android.tools.r8.graph.DexDebugEvent[] events -> d
+    boolean $assertionsDisabled -> a
+    int startLine -> b
+    com.android.tools.r8.graph.DexString[] parameters -> c
     1:1:void <clinit>():11:11 -> <clinit>
     1:8:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):17:24 -> <init>
     1:5:java.util.List computeEntries(com.android.tools.r8.graph.DexMethod):28:32 -> a
@@ -16931,12 +16910,12 @@
     1:1:boolean lambda$new$0(com.android.tools.r8.graph.DexDebugEvent):19:19 -> a
     1:1:com.android.tools.r8.graph.DexDebugEvent[] lambda$new$1(int):20:20 -> b
 com.android.tools.r8.graph.DexDebugPositionState -> com.android.tools.r8.graph.O:
-    com.android.tools.r8.graph.DexString currentFile -> c
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.DexMethod currentMethod -> d
-    int currentLine -> b
-    int currentPc -> a
-    com.android.tools.r8.ir.code.Position currentCallerPosition -> e
+    com.android.tools.r8.graph.DexString currentFile -> d
+    com.android.tools.r8.graph.DexMethod currentMethod -> e
+    boolean $assertionsDisabled -> a
+    int currentPc -> b
+    int currentLine -> c
+    com.android.tools.r8.ir.code.Position currentCallerPosition -> f
     1:1:void <clinit>():23:23 -> <clinit>
     1:1:void <init>(int,com.android.tools.r8.graph.DexMethod):30:30 -> <init>
     2:10:void <init>(int,com.android.tools.r8.graph.DexMethod):24:32 -> <init>
@@ -16956,8 +16935,8 @@
     1:1:com.android.tools.r8.graph.DexMethod getCurrentMethod():102:102 -> d
     1:1:int getCurrentPc():90:90 -> e
 com.android.tools.r8.graph.DexDefinition -> com.android.tools.r8.graph.P:
-    com.android.tools.r8.graph.DexAnnotationSet annotations -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexAnnotationSet annotations -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexAnnotationSet):19:21 -> <init>
     1:1:com.android.tools.r8.graph.DexAnnotationSet annotations():25:25 -> a
@@ -16983,17 +16962,17 @@
     boolean isDexEncodedMember() -> j
     boolean isDexEncodedMethod() -> k
     boolean isProgramClass() -> l
-    boolean isStaticMember() -> m
-    com.android.tools.r8.graph.DexReference toReference() -> n
+    boolean isStatic() -> m
+    boolean isStaticMember() -> n
+    com.android.tools.r8.graph.DexReference toReference() -> o
 com.android.tools.r8.graph.DexDefinitionSupplier -> com.android.tools.r8.graph.Q:
-    1:1:com.android.tools.r8.graph.DexEncodedMember definitionFor(com.android.tools.r8.graph.DexMember):18:18 -> definitionFor
-    1:1:com.android.tools.r8.graph.DexClass definitionForHolder(com.android.tools.r8.graph.DexEncodedMember):27:27 -> definitionForHolder
-    2:2:com.android.tools.r8.graph.DexClass definitionForHolder(com.android.tools.r8.graph.DexMember):32:32 -> definitionForHolder
+    1:1:com.android.tools.r8.graph.DexClass definitionForHolder(com.android.tools.r8.graph.DexEncodedMember):18:18 -> definitionForHolder
+    2:2:com.android.tools.r8.graph.DexClass definitionForHolder(com.android.tools.r8.graph.DexMember):23:23 -> definitionForHolder
 com.android.tools.r8.graph.DexEncodedAnnotation -> com.android.tools.r8.graph.S:
-    com.android.tools.r8.graph.DexAnnotationElement[] elements -> b
-    com.android.tools.r8.graph.DexType type -> a
-    int sorted -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexAnnotationElement[] elements -> c
+    com.android.tools.r8.graph.DexType type -> b
+    int sorted -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement[]):21:21 -> <init>
     2:6:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement[]):19:23 -> <init>
@@ -17007,12 +16986,12 @@
     12:12:int lambda$sort$0(com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):66:66 -> a
     13:19:com.android.tools.r8.graph.DexEncodedAnnotation rewrite(java.util.function.Function,java.util.function.Function):81:87 -> a
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):29:29 -> collectIndexedItems
-    2:154:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:152 -> collectIndexedItems
-    2:154:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):29 -> collectIndexedItems
-    155:400:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    155:400:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    155:400:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):29 -> collectIndexedItems
-    401:401:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):30:30 -> collectIndexedItems
+    2:180:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:178 -> collectIndexedItems
+    2:180:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):29 -> collectIndexedItems
+    181:426:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    181:426:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    181:426:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):29 -> collectIndexedItems
+    427:427:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):30:30 -> collectIndexedItems
     1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):36:36 -> collectMixedSectionItems
     1:3:boolean equals(java.lang.Object):54:56 -> equals
     1:1:int hashCode():46:46 -> hashCode
@@ -17026,18 +17005,19 @@
     1:1:int hashCode():31:31 -> hashCode
     1:1:java.lang.String toString():44:44 -> toString
 com.android.tools.r8.graph.DexEncodedField -> com.android.tools.r8.graph.U:
-    com.android.tools.r8.kotlin.KotlinFieldLevelInfo kotlinMemberInfo -> g
-    com.android.tools.r8.graph.FieldAccessFlags accessFlags -> d
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.graph.DexEncodedField[] EMPTY_ARRAY -> h
-    com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo optimizationInfo -> f
-    com.android.tools.r8.graph.DexField field -> c
-    com.android.tools.r8.graph.DexValue staticValue -> e
+    com.android.tools.r8.graph.FieldAccessFlags accessFlags -> f
+    com.android.tools.r8.kotlin.KotlinFieldLevelInfo kotlinMemberInfo -> i
+    com.android.tools.r8.graph.DexField field -> e
+    com.android.tools.r8.graph.DexEncodedField[] EMPTY_ARRAY -> c
+    com.android.tools.r8.graph.DexValue staticValue -> g
+    com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo optimizationInfo -> h
+    boolean $assertionsDisabled -> d
     1:2:void <clinit>():24:25 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexValue):39:39 -> <init>
     2:13:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexValue):31:42 -> <init>
+    1:1:com.android.tools.r8.graph.DexField toReference():116:116 -> A
     1:2:boolean isProgramField(com.android.tools.r8.graph.DexDefinitionSupplier):50:51 -> a
-    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     3:3:boolean isProgramField(com.android.tools.r8.graph.DexDefinitionSupplier):51 -> a
     4:4:boolean isProgramField(com.android.tools.r8.graph.DexDefinitionSupplier):52:52 -> a
     5:5:void setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):72:72 -> a
@@ -17054,7 +17034,7 @@
     35:35:boolean isStatic():139:139 -> a
     35:35:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):223 -> a
     36:36:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):224:224 -> a
-    37:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    37:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     37:37:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):224 -> a
     38:43:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):225:230 -> a
     44:51:com.android.tools.r8.graph.DexEncodedField toTypeSubstitutedField(com.android.tools.r8.graph.DexField):264:271 -> a
@@ -17067,96 +17047,96 @@
     1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):96:96 -> collectMixedSectionItems
     boolean isDexEncodedField() -> i
     1:1:boolean isStatic():139:139 -> m
-    1:1:boolean isStaticMember():160 -> m
-    1:1:com.android.tools.r8.graph.DexField toReference():116:116 -> n
-    1:1:com.android.tools.r8.graph.DexReference toReference():24 -> n
-    1:1:com.android.tools.r8.graph.DexField toReference():116:116 -> p
-    1:1:com.android.tools.r8.graph.DexMember toReference():24 -> p
-    1:2:void clearStaticValue():183:184 -> q
-    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinMemberInfo():76:76 -> r
-    1:7:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo getMutableOptimizationInfo():62:68 -> s
-    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():58:58 -> t
+    1:1:boolean isStatic():139:139 -> n
+    1:1:boolean isStaticMember():160 -> n
+    1:1:com.android.tools.r8.graph.DexField toReference():116:116 -> o
+    1:1:com.android.tools.r8.graph.DexReference toReference():24 -> o
+    1:1:com.android.tools.r8.graph.DexField toReference():116:116 -> q
+    1:1:com.android.tools.r8.graph.DexMember toReference():24 -> q
+    1:2:void clearStaticValue():183:184 -> r
+    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinMemberInfo():76:76 -> s
+    1:7:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo getMutableOptimizationInfo():62:68 -> t
     1:1:java.lang.String toSmaliString():106:106 -> toSmaliString
     1:1:java.lang.String toSourceString():111:111 -> toSourceString
     1:1:java.lang.String toString():101:101 -> toString
-    1:2:com.android.tools.r8.graph.DexValue getStaticValue():188:189 -> u
-    1:1:boolean hasAnnotation():168:168 -> v
-    1:2:boolean hasExplicitStaticValue():172:173 -> w
-    1:1:boolean isEnum():130:130 -> x
-    2:2:boolean com.android.tools.r8.graph.FieldAccessFlags.isEnum():102:102 -> x
-    2:2:boolean isEnum():130 -> x
-    1:1:boolean isVolatile():164:164 -> y
-    2:2:boolean com.android.tools.r8.graph.FieldAccessFlags.isVolatile():86:86 -> y
-    2:2:boolean isVolatile():164 -> y
-    1:1:com.android.tools.r8.graph.DexField toReference():116:116 -> z
+    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():58:58 -> u
+    1:2:com.android.tools.r8.graph.DexValue getStaticValue():188:189 -> v
+    1:1:boolean hasAnnotation():168:168 -> w
+    1:2:boolean hasExplicitStaticValue():172:173 -> x
+    1:1:boolean isEnum():130:130 -> y
+    2:2:boolean com.android.tools.r8.graph.FieldAccessFlags.isEnum():102:102 -> y
+    2:2:boolean isEnum():130 -> y
+    1:1:boolean isVolatile():164:164 -> z
+    2:2:boolean com.android.tools.r8.graph.FieldAccessFlags.isVolatile():86:86 -> z
+    2:2:boolean isVolatile():164 -> z
 com.android.tools.r8.graph.DexEncodedMember -> com.android.tools.r8.graph.V:
     1:1:void <init>(com.android.tools.r8.graph.DexAnnotationSet):10:10 -> <init>
     com.android.tools.r8.graph.DexEncodedMember asDexEncodedMember() -> d
     1:2:boolean equals(java.lang.Object):35:36 -> equals
     1:1:int hashCode():41:41 -> hashCode
     boolean isDexEncodedMember() -> j
-    1:1:com.android.tools.r8.graph.DexReference toReference():6:6 -> n
-    1:1:com.android.tools.r8.graph.DexType holder():14:14 -> o
-    com.android.tools.r8.graph.DexMember toReference() -> p
+    1:1:com.android.tools.r8.graph.DexReference toReference():6:6 -> o
+    1:1:com.android.tools.r8.graph.DexType holder():14:14 -> p
+    com.android.tools.r8.graph.DexMember toReference() -> q
 com.android.tools.r8.graph.DexEncodedMethod -> com.android.tools.r8.graph.W:
-    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> h
-    com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo callSiteOptimizationInfo -> i
-    com.android.tools.r8.kotlin.KotlinMethodLevelInfo kotlinMemberInfo -> k
-    boolean obsolete -> o
-    boolean d8R8Synthesized -> p
-    int classFileVersion -> j
-    com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotationsList -> e
-    com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> m
-    com.android.tools.r8.graph.DexEncodedMethod SENTINEL -> r
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap NO_PARAMETER_INFO -> s
-    com.android.tools.r8.graph.DexMethod method -> c
-    boolean $assertionsDisabled -> t
-    com.android.tools.r8.graph.Code code -> f
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap parameterInfo -> n
-    com.android.tools.r8.graph.DexEncodedMethod$CompilationState compilationState -> g
-    com.android.tools.r8.graph.DexEncodedMethod defaultInterfaceMethodImplementation -> l
-    com.android.tools.r8.graph.DexEncodedMethod[] EMPTY_ARRAY -> q
-    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> d
+    int classFileVersion -> n
+    com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotationsList -> i
+    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> l
+    com.android.tools.r8.graph.DexEncodedMethod[] EMPTY_ARRAY -> c
+    com.android.tools.r8.graph.DexMethod method -> g
+    com.android.tools.r8.graph.Code code -> j
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap parameterInfo -> r
+    boolean obsolete -> s
+    boolean d8R8Synthesized -> t
+    com.android.tools.r8.graph.DexEncodedMethod defaultInterfaceMethodImplementation -> p
+    com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> q
+    com.android.tools.r8.graph.DexEncodedMethod SENTINEL -> d
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap NO_PARAMETER_INFO -> e
+    boolean $assertionsDisabled -> f
+    com.android.tools.r8.graph.DexEncodedMethod$CompilationState compilationState -> k
+    com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo callSiteOptimizationInfo -> m
+    com.android.tools.r8.kotlin.KotlinMethodLevelInfo kotlinMemberInfo -> o
+    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> h
     1:45:void <clinit>():79:123 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code):211:211 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,int):221:221 -> <init>
     3:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,int,boolean):242:242 -> <init>
     4:122:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,int,boolean):132:250 -> <init>
-    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinMemberInfo():448:448 -> A
-    1:5:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo getMutableOptimizationInfo():1229:1233 -> B
-    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1224:1225 -> C
-    1:1:java.util.Map getParameterInfo():615:615 -> D
-    1:2:boolean hasAnnotation():1215:1216 -> E
-    1:2:boolean hasClassFileVersion():676:677 -> F
-    1:1:boolean hasCode():656:656 -> G
-    1:1:boolean hasParameterInfo():611:611 -> H
-    1:1:boolean isAbstract():322:322 -> I
-    1:2:boolean isClassInitializer():365:366 -> J
-    3:3:boolean com.android.tools.r8.graph.MethodAccessFlags.isConstructor():188:188 -> J
-    3:3:boolean isClassInitializer():366 -> J
-    4:4:boolean isClassInitializer():366:366 -> J
-    1:1:boolean isD8R8Synthesized():159:159 -> K
-    1:1:boolean isDefaultMethod():371:371 -> L
-    1:2:boolean isDirectMethod():423:424 -> M
-    3:3:boolean com.android.tools.r8.graph.MethodAccessFlags.isConstructor():188:188 -> M
-    3:3:boolean isDirectMethod():424 -> M
-    4:4:boolean isDirectMethod():424:424 -> M
-    1:1:boolean isFinal():330:330 -> N
-    1:2:boolean isInitializer():350:351 -> O
-    1:2:boolean isInstanceInitializer():355:356 -> P
-    3:3:boolean com.android.tools.r8.graph.MethodAccessFlags.isConstructor():188:188 -> P
-    3:3:boolean isInstanceInitializer():356 -> P
-    4:4:boolean isInstanceInitializer():356:356 -> P
-    1:1:com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride():275:275 -> Q
-    1:2:boolean isNonAbstractNonNativeMethod():400:401 -> R
-    1:2:boolean isNonAbstractVirtualMethod():395:396 -> S
-    1:2:boolean isNonPrivateVirtualMethod():386:387 -> T
-    1:1:boolean isObsolete():169:169 -> U
-    1:1:boolean isOnlyInlinedIntoNestMembers():474:474 -> V
-    1:2:boolean isPrivateMethod():415:416 -> W
-    1:2:boolean isProcessed():317:318 -> X
-    1:1:boolean isPublic():342:342 -> Y
-    1:2:boolean isPublicMethod():410:411 -> Z
+    1:1:com.android.tools.r8.graph.DexEncodedMethod getDefaultInterfaceMethodImplementation():179:179 -> A
+    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinMemberInfo():448:448 -> B
+    1:5:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo getMutableOptimizationInfo():1236:1240 -> C
+    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1231:1232 -> D
+    1:1:java.util.Map getParameterInfo():615:615 -> E
+    1:2:boolean hasAnnotation():1222:1223 -> F
+    1:2:boolean hasClassFileVersion():676:677 -> G
+    1:1:boolean hasCode():656:656 -> H
+    1:1:boolean hasParameterInfo():611:611 -> I
+    1:1:boolean isAbstract():322:322 -> J
+    1:2:boolean isClassInitializer():365:366 -> K
+    3:3:boolean com.android.tools.r8.graph.MethodAccessFlags.isConstructor():188:188 -> K
+    3:3:boolean isClassInitializer():366 -> K
+    4:4:boolean isClassInitializer():366:366 -> K
+    1:1:boolean isD8R8Synthesized():159:159 -> L
+    1:1:boolean isDefaultMethod():371:371 -> M
+    1:2:boolean isDirectMethod():423:424 -> N
+    3:3:boolean com.android.tools.r8.graph.MethodAccessFlags.isConstructor():188:188 -> N
+    3:3:boolean isDirectMethod():424 -> N
+    4:4:boolean isDirectMethod():424:424 -> N
+    1:1:boolean isFinal():330:330 -> O
+    1:2:boolean isInitializer():350:351 -> P
+    1:2:boolean isInstanceInitializer():355:356 -> Q
+    3:3:boolean com.android.tools.r8.graph.MethodAccessFlags.isConstructor():188:188 -> Q
+    3:3:boolean isInstanceInitializer():356 -> Q
+    4:4:boolean isInstanceInitializer():356:356 -> Q
+    1:1:com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride():275:275 -> R
+    1:2:boolean isNonAbstractNonNativeMethod():400:401 -> S
+    1:2:boolean isNonAbstractVirtualMethod():395:396 -> T
+    1:2:boolean isNonPrivateVirtualMethod():386:387 -> U
+    1:1:boolean isObsolete():169:169 -> V
+    1:1:boolean isOnlyInlinedIntoNestMembers():474:474 -> W
+    1:2:boolean isPrivateMethod():415:416 -> X
+    1:2:boolean isProcessed():317:318 -> Y
+    1:1:boolean isPublic():342:342 -> Z
     1:1:boolean access$300(com.android.tools.r8.graph.DexEncodedMethod):79:79 -> a
     2:2:com.android.tools.r8.graph.DexEncodedMethod$CompilationState access$502(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$CompilationState):79:79 -> a
     3:3:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo access$602(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo):79:79 -> a
@@ -17190,127 +17170,133 @@
     158:158:void setCode(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.AppView):589:589 -> a
     159:161:void setCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,com.android.tools.r8.graph.AppView):593:595 -> a
     162:165:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):599:602 -> a
-    166:167:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1224:1225 -> a
+    166:167:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1231:1232 -> a
     166:167:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):602 -> a
     168:168:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):602:602 -> a
     169:174:void collectMixedSectionItemsWithCodeMapping(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.dex.MethodToCodeObjectMapping):643:648 -> a
     175:183:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):697:705 -> a
-    184:196:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):709:721 -> a
+    184:196:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):713:725 -> a
     197:254:java.lang.String com.android.tools.r8.graph.DexCode.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):346:403 -> a
-    197:254:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):722 -> a
-    255:258:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):722:725 -> a
-    259:268:com.android.tools.r8.graph.DexCode generateCodeFromTemplate(int,int,com.android.tools.r8.code.Instruction[]):752:761 -> a
-    269:276:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethodDex(boolean):787:794 -> a
-    277:281:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):830:834 -> a
-    282:287:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):833:838 -> a
-    288:289:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod):933:934 -> a
-    290:304:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):938:952 -> a
-    305:309:com.android.tools.r8.graph.ProgramMethod toInitializerForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):956:960 -> a
-    310:334:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):0:24 -> a
-    310:334:com.android.tools.r8.graph.ProgramMethod toInitializerForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):962 -> a
-    335:348:com.android.tools.r8.graph.ProgramMethod toInitializerForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):963:976 -> a
-    349:349:void com.android.tools.r8.graph.MethodAccessFlags.setConstructor():192:192 -> a
-    349:349:com.android.tools.r8.graph.ProgramMethod toInitializerForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):976 -> a
-    350:350:com.android.tools.r8.graph.ProgramMethod toInitializerForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):977:977 -> a
-    351:356:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):982:987 -> a
-    357:385:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):984:1012 -> a
-    386:386:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
-    386:386:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1012 -> a
-    387:387:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1012:1012 -> a
-    388:388:com.android.tools.r8.ir.conversion.SourceCode lambda$createFieldAccessorBridge$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.ir.code.Position):992:992 -> a
-    389:392:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):995:998 -> a
-    393:393:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstance():495:495 -> a
-    393:393:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstancePut():511 -> a
-    393:393:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):999 -> a
-    394:394:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstancePut():511:511 -> a
-    394:394:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):999 -> a
-    395:397:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):1000:1002 -> a
-    398:398:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isStaticPut():503:503 -> a
-    398:398:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):1002 -> a
-    399:400:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):1002:1003 -> a
-    401:403:com.android.tools.r8.graph.DexEncodedMethod toRenamedHolderMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1018:1020 -> a
-    404:414:com.android.tools.r8.graph.DexEncodedMethod toEmulateDispatchLibraryMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.List,com.android.tools.r8.graph.AppView):1031:1041 -> a
-    415:415:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
-    415:415:com.android.tools.r8.graph.DexEncodedMethod toEmulateDispatchLibraryMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.List,com.android.tools.r8.graph.AppView):1041 -> a
-    416:421:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1078:1083 -> a
-    422:422:void com.android.tools.r8.graph.AccessFlags.demoteFromFinal():241:241 -> a
-    422:422:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1083 -> a
-    423:430:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1085:1092 -> a
-    431:431:void com.android.tools.r8.graph.MethodAccessFlags.setAbstract():172:172 -> a
-    431:431:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1092 -> a
-    432:432:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1095:1095 -> a
-    433:433:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    433:433:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1095 -> a
-    434:458:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):0:24 -> a
-    434:458:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1097 -> a
-    459:479:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1099:1119 -> a
-    480:483:void lambda$toForwardingMethod$5(com.android.tools.r8.graph.UseRegistry):1108:1111 -> a
-    484:491:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1124:1131 -> a
-    492:492:void com.android.tools.r8.graph.MethodAccessFlags.unsetAbstract():176:176 -> a
-    492:492:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1132 -> a
-    493:517:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):0:24 -> a
-    493:517:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1134 -> a
-    518:527:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1135:1144 -> a
-    528:528:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
-    528:528:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1144 -> a
-    529:540:com.android.tools.r8.graph.DexCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):1166:1177 -> a
-    541:551:com.android.tools.r8.graph.DexCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):1176:1186 -> a
-    552:553:void setOptimizationInfo(com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo):1237:1238 -> a
-    554:555:void joinCallSiteOptimizationInfo(com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo,com.android.tools.r8.graph.AppView):1253:1254 -> a
-    1:2:boolean isPublicized():405:406 -> a0
+    197:254:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):726 -> a
+    255:258:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):726:729 -> a
+    259:268:com.android.tools.r8.graph.DexCode generateCodeFromTemplate(int,int,com.android.tools.r8.code.Instruction[]):756:765 -> a
+    269:273:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):837:841 -> a
+    274:279:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):840:845 -> a
+    280:281:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod):940:941 -> a
+    282:296:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):945:959 -> a
+    297:301:com.android.tools.r8.graph.ProgramMethod toInitializerForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):963:967 -> a
+    302:326:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):0:24 -> a
+    302:326:com.android.tools.r8.graph.ProgramMethod toInitializerForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):969 -> a
+    327:340:com.android.tools.r8.graph.ProgramMethod toInitializerForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):970:983 -> a
+    341:341:void com.android.tools.r8.graph.MethodAccessFlags.setConstructor():192:192 -> a
+    341:341:com.android.tools.r8.graph.ProgramMethod toInitializerForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):983 -> a
+    342:342:com.android.tools.r8.graph.ProgramMethod toInitializerForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):984:984 -> a
+    343:348:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):989:994 -> a
+    349:377:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):991:1019 -> a
+    378:378:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
+    378:378:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1019 -> a
+    379:379:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1019:1019 -> a
+    380:380:com.android.tools.r8.ir.conversion.SourceCode lambda$createFieldAccessorBridge$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.ir.code.Position):999:999 -> a
+    381:384:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):1002:1005 -> a
+    385:385:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstance():499:499 -> a
+    385:385:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstancePut():515 -> a
+    385:385:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):1006 -> a
+    386:386:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstancePut():515:515 -> a
+    386:386:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):1006 -> a
+    387:389:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):1007:1009 -> a
+    390:390:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isStaticPut():507:507 -> a
+    390:390:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):1009 -> a
+    391:392:void lambda$createFieldAccessorBridge$3(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess,com.android.tools.r8.graph.UseRegistry):1009:1010 -> a
+    393:395:com.android.tools.r8.graph.DexEncodedMethod toRenamedHolderMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1025:1027 -> a
+    396:406:com.android.tools.r8.graph.DexEncodedMethod toEmulateDispatchLibraryMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.List,com.android.tools.r8.graph.AppView):1038:1048 -> a
+    407:407:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
+    407:407:com.android.tools.r8.graph.DexEncodedMethod toEmulateDispatchLibraryMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.List,com.android.tools.r8.graph.AppView):1048 -> a
+    408:413:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1085:1090 -> a
+    414:414:void com.android.tools.r8.graph.AccessFlags.demoteFromFinal():241:241 -> a
+    414:414:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1090 -> a
+    415:422:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1092:1099 -> a
+    423:423:void com.android.tools.r8.graph.MethodAccessFlags.setAbstract():172:172 -> a
+    423:423:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1099 -> a
+    424:424:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1102:1102 -> a
+    425:425:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    425:425:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1102 -> a
+    426:450:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):0:24 -> a
+    426:450:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1104 -> a
+    451:471:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1106:1126 -> a
+    472:475:void lambda$toForwardingMethod$5(com.android.tools.r8.graph.UseRegistry):1115:1118 -> a
+    476:483:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1131:1138 -> a
+    484:484:void com.android.tools.r8.graph.MethodAccessFlags.unsetAbstract():176:176 -> a
+    484:484:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1139 -> a
+    485:509:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):0:24 -> a
+    485:509:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1141 -> a
+    510:519:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1142:1151 -> a
+    520:520:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
+    520:520:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1151 -> a
+    521:532:com.android.tools.r8.graph.DexCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):1173:1184 -> a
+    533:543:com.android.tools.r8.graph.DexCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):1183:1193 -> a
+    544:545:void setOptimizationInfo(com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo):1244:1245 -> a
+    546:547:void joinCallSiteOptimizationInfo(com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo,com.android.tools.r8.graph.AppView):1260:1261 -> a
+    1:2:boolean isPublicMethod():410:411 -> a0
     1:1:com.android.tools.r8.graph.Code access$400(com.android.tools.r8.graph.DexEncodedMethod):79:79 -> b
     2:2:com.android.tools.r8.graph.ParameterAnnotationsList liveParameterAnnotations(com.android.tools.r8.graph.AppView):270:270 -> b
     3:3:boolean lambda$liveParameterAnnotations$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexAnnotation):271:271 -> b
     4:6:boolean isProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):295:297 -> b
-    7:7:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> b
-    7:7:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethod(com.android.tools.r8.utils.InternalOptions):781 -> b
-    8:17:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethodCf():809:818 -> b
-    8:17:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethod(com.android.tools.r8.utils.InternalOptions):782 -> b
-    18:18:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethod(com.android.tools.r8.utils.InternalOptions):783:783 -> b
-    19:21:void upgradeClassFileVersion(int):681:683 -> b
-    22:22:void lambda$toInitializerForwardingBridge$1(com.android.tools.r8.graph.UseRegistry):971:971 -> b
-    23:26:com.android.tools.r8.graph.ProgramMethod toStaticForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1047:1050 -> b
-    27:51:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):0:24 -> b
-    27:51:com.android.tools.r8.graph.ProgramMethod toStaticForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1052 -> b
-    52:72:com.android.tools.r8.graph.ProgramMethod toStaticForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1054:1074 -> b
-    1:2:boolean isStatic():429:430 -> b0
+    7:7:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> b
+    7:7:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethod(com.android.tools.r8.utils.InternalOptions):775 -> b
+    8:15:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethodCf():794:801 -> b
+    8:15:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethod(com.android.tools.r8.utils.InternalOptions):776 -> b
+    16:16:void setObsolete():175:175 -> b
+    16:16:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethodCf():802 -> b
+    16:16:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethod(com.android.tools.r8.utils.InternalOptions):776 -> b
+    17:24:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethodDex(boolean):781:788 -> b
+    17:24:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethod(com.android.tools.r8.utils.InternalOptions):777 -> b
+    25:25:void setObsolete():175:175 -> b
+    25:25:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethodDex(boolean):789 -> b
+    25:25:com.android.tools.r8.graph.DexEncodedMethod toEmptyThrowingMethod(com.android.tools.r8.utils.InternalOptions):777 -> b
+    26:28:void upgradeClassFileVersion(int):681:683 -> b
+    29:29:void lambda$toInitializerForwardingBridge$1(com.android.tools.r8.graph.UseRegistry):978:978 -> b
+    30:33:com.android.tools.r8.graph.ProgramMethod toStaticForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1054:1057 -> b
+    34:58:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):0:24 -> b
+    34:58:com.android.tools.r8.graph.ProgramMethod toStaticForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1059 -> b
+    59:79:com.android.tools.r8.graph.ProgramMethod toStaticForwardingBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1061:1081 -> b
+    1:2:boolean isPublicized():405:406 -> b0
     1:1:com.android.tools.r8.graph.DexEncodedMethod$CompilationState access$500(com.android.tools.r8.graph.DexEncodedMethod):79:79 -> c
-    2:3:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):822:823 -> c
-    4:8:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):843:847 -> c
-    4:8:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):823 -> c
-    9:16:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):846:853 -> c
-    9:16:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):823 -> c
-    17:23:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):852:858 -> c
-    17:23:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):823 -> c
-    24:39:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):856:871 -> c
-    24:39:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):823 -> c
+    2:3:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):829:830 -> c
+    4:8:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):850:854 -> c
+    4:8:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):830 -> c
+    9:16:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):853:860 -> c
+    9:16:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):830 -> c
+    17:23:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):859:865 -> c
+    17:23:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):830 -> c
+    24:39:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):863:878 -> c
+    24:39:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):830 -> c
     40:40:void setObsolete():175:175 -> c
-    40:40:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):872 -> c
-    40:40:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):823 -> c
-    41:41:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):873:873 -> c
-    41:41:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):823 -> c
-    42:42:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):825:825 -> c
-    43:47:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):877:881 -> c
-    43:47:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):825 -> c
-    48:56:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):880:888 -> c
-    48:56:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):825 -> c
-    57:65:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):885:893 -> c
-    57:65:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):825 -> c
-    66:74:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):890:898 -> c
-    66:74:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):825 -> c
-    75:79:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):896:900 -> c
-    75:79:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):825 -> c
+    40:40:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):879 -> c
+    40:40:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):830 -> c
+    41:41:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorDexCode(com.android.tools.r8.graph.DexItemFactory):880:880 -> c
+    41:41:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):830 -> c
+    42:42:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):832:832 -> c
+    43:47:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):884:888 -> c
+    43:47:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):832 -> c
+    48:56:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):887:895 -> c
+    48:56:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):832 -> c
+    57:65:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):892:900 -> c
+    57:65:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):832 -> c
+    66:74:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):897:905 -> c
+    66:74:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):832 -> c
+    75:79:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):903:907 -> c
+    75:79:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):832 -> c
     80:81:boolean isStaticMember():435:436 -> c
-    80:81:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):901 -> c
-    80:81:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):825 -> c
-    82:104:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):905:927 -> c
-    82:104:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):825 -> c
+    80:81:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):908 -> c
+    80:81:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):832 -> c
+    82:104:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):912:934 -> c
+    82:104:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):832 -> c
     105:105:void setObsolete():175:175 -> c
-    105:105:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):928 -> c
-    105:105:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):825 -> c
-    106:106:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):929:929 -> c
-    106:106:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):825 -> c
-    107:110:void lambda$toStaticForwardingBridge$4(com.android.tools.r8.graph.UseRegistry):1062:1065 -> c
+    105:105:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):935 -> c
+    105:105:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):832 -> c
+    106:106:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsErrorCfCode(com.android.tools.r8.graph.DexItemFactory):936:936 -> c
+    106:106:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):832 -> c
+    107:110:void lambda$toStaticForwardingBridge$4(com.android.tools.r8.graph.UseRegistry):1069:1072 -> c
     1:1:boolean isSynchronized():346:346 -> c0
     2:2:boolean com.android.tools.r8.graph.MethodAccessFlags.isSynchronized():124:124 -> c0
     2:2:boolean isSynchronized():346 -> c0
@@ -17319,92 +17305,92 @@
     1:1:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo access$600(com.android.tools.r8.graph.DexEncodedMethod):79:79 -> d
     1:2:boolean isSyntheticMethod():443:444 -> d0
     1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo access$700(com.android.tools.r8.graph.DexEncodedMethod):79:79 -> e
-    2:2:com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod():1210:1210 -> e
+    2:2:com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod():1217:1217 -> e
     1:2:boolean isVirtualMethod():381:382 -> e0
     3:3:boolean com.android.tools.r8.graph.MethodAccessFlags.isConstructor():188:188 -> e0
     3:3:boolean isVirtualMethod():382 -> e0
     1:1:int access$800(com.android.tools.r8.graph.DexEncodedMethod):79:79 -> f
     1:2:void markNotProcessed():578:579 -> f0
-    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1269:1269 -> g
+    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1276:1276 -> g
     1:1:com.android.tools.r8.graph.DexTypeList parameters():258:258 -> g0
-    1:3:void copyMetadata(com.android.tools.r8.graph.DexEncodedMethod):1258:1260 -> h
+    1:3:void copyMetadata(com.android.tools.r8.graph.DexEncodedMethod):1265:1267 -> h
     1:2:java.lang.String qualifiedName():687:688 -> h0
     1:5:void setDefaultInterfaceMethodImplementation(com.android.tools.r8.graph.DexEncodedMethod):183:187 -> i
     6:6:void com.android.tools.r8.graph.MethodAccessFlags.setAbstract():172:172 -> i
     6:6:void setDefaultInterfaceMethodImplementation(com.android.tools.r8.graph.DexEncodedMethod):187 -> i
     7:8:void setDefaultInterfaceMethodImplementation(com.android.tools.r8.graph.DexEncodedMethod):188:189 -> i
     1:2:void removeCode():665:666 -> i0
-    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder(com.android.tools.r8.graph.DexEncodedMethod):1265:1265 -> j
+    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder(com.android.tools.r8.graph.DexEncodedMethod):1272:1272 -> j
     1:1:com.android.tools.r8.graph.DexType returnType():266:266 -> j0
-    1:1:boolean isDexEncodedMethod():1204:1204 -> k
+    1:1:boolean isDexEncodedMethod():1211:1211 -> k
     1:1:void setObsolete():175:175 -> k0
     1:1:boolean shouldNotHaveCode():652:652 -> l0
-    1:2:boolean isStaticMember():435:436 -> m
-    1:7:com.android.tools.r8.graph.DexEncodedMethod toAbstractMethod():735:741 -> m0
+    1:2:boolean isStatic():429:430 -> m
+    1:7:com.android.tools.r8.graph.DexEncodedMethod toAbstractMethod():739:745 -> m0
     8:8:void com.android.tools.r8.graph.MethodAccessFlags.setAbstract():172:172 -> m0
-    8:8:com.android.tools.r8.graph.DexEncodedMethod toAbstractMethod():741 -> m0
-    9:9:com.android.tools.r8.graph.DexEncodedMethod toAbstractMethod():742:742 -> m0
-    1:2:com.android.tools.r8.graph.DexMethod toReference():1198:1199 -> n
-    1:2:com.android.tools.r8.graph.DexReference toReference():79 -> n
-    1:2:com.android.tools.r8.graph.DexMethod toReference():1198:1199 -> n0
-    1:8:com.android.tools.r8.graph.DexEncodedMethod toStaticMethodWithoutThis():1150:1157 -> o0
-    9:11:void copyMetadata(com.android.tools.r8.graph.DexEncodedMethod):1258:1260 -> o0
-    9:11:com.android.tools.r8.graph.DexEncodedMethod toStaticMethodWithoutThis():1158 -> o0
+    8:8:com.android.tools.r8.graph.DexEncodedMethod toAbstractMethod():745 -> m0
+    9:9:com.android.tools.r8.graph.DexEncodedMethod toAbstractMethod():746:746 -> m0
+    1:2:boolean isStaticMember():435:436 -> n
+    1:2:com.android.tools.r8.graph.DexMethod toReference():1205:1206 -> n0
+    1:2:com.android.tools.r8.graph.DexMethod toReference():1205:1206 -> o
+    1:2:com.android.tools.r8.graph.DexReference toReference():79 -> o
+    1:8:com.android.tools.r8.graph.DexEncodedMethod toStaticMethodWithoutThis():1157:1164 -> o0
+    9:11:void copyMetadata(com.android.tools.r8.graph.DexEncodedMethod):1265:1267 -> o0
+    9:11:com.android.tools.r8.graph.DexEncodedMethod toStaticMethodWithoutThis():1165 -> o0
     12:12:void setObsolete():175:175 -> o0
-    12:12:com.android.tools.r8.graph.DexEncodedMethod toStaticMethodWithoutThis():1159 -> o0
-    1:2:com.android.tools.r8.graph.DexMethod toReference():1198:1199 -> p
-    1:2:com.android.tools.r8.graph.DexMember toReference():79 -> p
+    12:12:com.android.tools.r8.graph.DexEncodedMethod toStaticMethodWithoutThis():1166 -> o0
     1:1:void unsetObsolete():202:202 -> p0
-    1:2:void abandonCallSiteOptimizationInfo():1242:1243 -> q
-    1:8:com.android.tools.r8.graph.CfCode buildEmptyThrowingCfCode():798:805 -> r
-    1:2:com.android.tools.r8.graph.DexCode buildEmptyThrowingDexCode():771:772 -> s
-    1:1:void checkIfObsolete():163:163 -> t
-    1:2:java.lang.String toSourceString():730:731 -> toSourceString
+    1:2:com.android.tools.r8.graph.DexMethod toReference():1205:1206 -> q
+    1:2:com.android.tools.r8.graph.DexMember toReference():79 -> q
+    1:2:void abandonCallSiteOptimizationInfo():1249:1250 -> r
+    1:8:com.android.tools.r8.graph.CfCode buildEmptyThrowingCfCode():813:820 -> s
+    1:2:com.android.tools.r8.graph.DexCode buildEmptyThrowingDexCode():824:825 -> t
+    1:2:java.lang.String toSourceString():734:735 -> toSourceString
     1:2:java.lang.String toString():620:621 -> toString
-    1:2:java.lang.String codeToString():1192:1193 -> u
-    1:2:java.lang.String descriptor():692:693 -> v
-    1:2:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo getCallSiteOptimizationInfo():1247:1248 -> w
-    1:3:int getClassFileVersion():670:672 -> x
-    1:2:com.android.tools.r8.graph.Code getCode():660:661 -> y
-    1:1:com.android.tools.r8.graph.DexEncodedMethod getDefaultInterfaceMethodImplementation():179:179 -> z
+    1:1:void checkIfObsolete():163:163 -> u
+    1:2:java.lang.String codeToString():1199:1200 -> v
+    1:2:java.lang.String descriptor():692:693 -> w
+    1:2:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo getCallSiteOptimizationInfo():1254:1255 -> x
+    1:3:int getClassFileVersion():670:672 -> y
+    1:2:com.android.tools.r8.graph.Code getCode():660:661 -> z
 com.android.tools.r8.graph.DexEncodedMethod$1 -> com.android.tools.r8.graph.W$a:
 com.android.tools.r8.graph.DexEncodedMethod$Builder -> com.android.tools.r8.graph.W$b:
-    com.android.tools.r8.graph.Code code -> f
-    com.android.tools.r8.graph.DexAnnotationSet annotations -> c
-    com.android.tools.r8.graph.DexEncodedMethod$CompilationState compilationState -> g
-    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> h
-    com.android.tools.r8.kotlin.KotlinMethodLevelInfo kotlinMemberInfo -> i
-    int classFileVersion -> j
-    com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> d
-    com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotations -> e
-    boolean d8R8Synthesized -> k
-    boolean $assertionsDisabled -> l
-    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> b
-    com.android.tools.r8.graph.DexMethod method -> a
-    1:1:void <clinit>():1272:1272 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$1):1272:1272 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod,boolean,com.android.tools.r8.graph.DexEncodedMethod$1):1272:1272 -> <init>
-    3:3:void <init>(com.android.tools.r8.graph.DexEncodedMethod):1287:1287 -> <init>
-    4:4:void <init>(com.android.tools.r8.graph.DexEncodedMethod,boolean):1290:1290 -> <init>
-    5:36:void <init>(com.android.tools.r8.graph.DexEncodedMethod,boolean):1277:1308 -> <init>
-    37:37:void <init>(com.android.tools.r8.graph.DexEncodedMethod,boolean):1304:1304 -> <init>
-    1:1:com.android.tools.r8.graph.MethodAccessFlags access$000(com.android.tools.r8.graph.DexEncodedMethod$Builder):1272:1272 -> a
-    2:2:void setMethod(com.android.tools.r8.graph.DexMethod):1313:1313 -> a
-    3:4:com.android.tools.r8.graph.DexEncodedMethod$Builder setIsLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):1317:1318 -> a
-    5:24:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1328:1347 -> a
-    25:25:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1323:1323 -> a
-    25:25:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1347 -> a
-    26:28:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1350:1352 -> a
-    29:29:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1323:1323 -> a
-    29:29:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1350 -> a
-    30:32:com.android.tools.r8.graph.DexEncodedMethod$Builder adjustOptimizationInfoAfterRemovingThisParameter():1372:1374 -> a
-    33:33:void setCode(com.android.tools.r8.graph.Code):1380:1380 -> a
-    1:6:com.android.tools.r8.graph.DexEncodedMethod build():1384:1389 -> b
-    7:22:com.android.tools.r8.graph.DexEncodedMethod build():1388:1403 -> b
-    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder promoteToStatic():1357:1357 -> c
+    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> i
+    com.android.tools.r8.graph.DexAnnotationSet annotations -> d
+    com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> e
+    com.android.tools.r8.graph.DexEncodedMethod$CompilationState compilationState -> h
+    com.android.tools.r8.kotlin.KotlinMethodLevelInfo kotlinMemberInfo -> j
+    int classFileVersion -> k
+    com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotations -> f
+    boolean d8R8Synthesized -> l
+    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexMethod method -> b
+    com.android.tools.r8.graph.Code code -> g
+    1:1:void <clinit>():1279:1279 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$1):1279:1279 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod,boolean,com.android.tools.r8.graph.DexEncodedMethod$1):1279:1279 -> <init>
+    3:3:void <init>(com.android.tools.r8.graph.DexEncodedMethod):1294:1294 -> <init>
+    4:4:void <init>(com.android.tools.r8.graph.DexEncodedMethod,boolean):1297:1297 -> <init>
+    5:36:void <init>(com.android.tools.r8.graph.DexEncodedMethod,boolean):1284:1315 -> <init>
+    37:37:void <init>(com.android.tools.r8.graph.DexEncodedMethod,boolean):1311:1311 -> <init>
+    1:1:com.android.tools.r8.graph.MethodAccessFlags access$000(com.android.tools.r8.graph.DexEncodedMethod$Builder):1279:1279 -> a
+    2:2:void setMethod(com.android.tools.r8.graph.DexMethod):1320:1320 -> a
+    3:4:com.android.tools.r8.graph.DexEncodedMethod$Builder setIsLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):1324:1325 -> a
+    5:24:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1335:1354 -> a
+    25:25:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1330:1330 -> a
+    25:25:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1354 -> a
+    26:28:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1357:1359 -> a
+    29:29:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1330:1330 -> a
+    29:29:com.android.tools.r8.graph.DexEncodedMethod$Builder removeParameterAnnotations(java.util.function.IntPredicate):1357 -> a
+    30:32:com.android.tools.r8.graph.DexEncodedMethod$Builder adjustOptimizationInfoAfterRemovingThisParameter():1379:1381 -> a
+    33:33:void setCode(com.android.tools.r8.graph.Code):1387:1387 -> a
+    1:6:com.android.tools.r8.graph.DexEncodedMethod build():1391:1396 -> b
+    7:22:com.android.tools.r8.graph.DexEncodedMethod build():1395:1410 -> b
+    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder promoteToStatic():1364:1364 -> c
     2:2:void com.android.tools.r8.graph.AccessFlags.promoteToStatic():254:254 -> c
-    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder promoteToStatic():1357 -> c
-    1:5:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter():1362:1366 -> d
+    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder promoteToStatic():1364 -> c
+    1:5:com.android.tools.r8.graph.DexEncodedMethod$Builder withoutThisParameter():1369:1373 -> d
 com.android.tools.r8.graph.DexEncodedMethod$CompilationState -> com.android.tools.r8.graph.W$c:
     com.android.tools.r8.graph.DexEncodedMethod$CompilationState PROCESSED_INLINING_CANDIDATE_SAME_NEST -> f
     com.android.tools.r8.graph.DexEncodedMethod$CompilationState PROCESSED_INLINING_CANDIDATE_SAME_CLASS -> g
@@ -17420,37 +17406,42 @@
 com.android.tools.r8.graph.DexField -> com.android.tools.r8.graph.X:
     com.android.tools.r8.graph.DexString name -> e
     com.android.tools.r8.graph.DexType type -> d
-    1:6:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):16:21 -> <init>
+    1:6:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):19:24 -> <init>
     com.android.tools.r8.graph.DexField asDexField() -> a
-    1:1:int slowCompareTo(java.lang.Object):10:10 -> a
-    2:2:int slowCompareTo(java.lang.Object,com.android.tools.r8.naming.NamingLens):10:10 -> a
-    3:3:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):61:61 -> a
-    4:12:int slowCompareTo(com.android.tools.r8.graph.DexField):76:84 -> a
-    13:21:int slowCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.NamingLens):89:97 -> a
-    22:22:boolean match(com.android.tools.r8.graph.DexEncodedField):107:107 -> a
-    23:23:boolean match(com.android.tools.r8.graph.DexField):102:102 -> a
-    23:23:boolean match(com.android.tools.r8.graph.DexEncodedField):107 -> a
-    1:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):51:52 -> collectIndexedItems
-    3:155:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:152 -> collectIndexedItems
-    3:155:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):52 -> collectIndexedItems
-    156:401:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    156:401:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    156:401:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):52 -> collectIndexedItems
-    402:402:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):53:53 -> collectIndexedItems
-    403:555:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:152 -> collectIndexedItems
-    403:555:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):53 -> collectIndexedItems
-    556:801:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    556:801:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    556:801:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):53 -> collectIndexedItems
-    802:802:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):54:54 -> collectIndexedItems
-    803:1048:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    803:1048:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):54 -> collectIndexedItems
-    1:5:boolean computeEquals(java.lang.Object):34:38 -> computeEquals
-    1:3:int computeHashCode():27:29 -> computeHashCode
+    1:1:com.android.tools.r8.graph.DexEncodedMember lookupOnClass(com.android.tools.r8.graph.DexClass):13:13 -> a
+    2:2:int slowCompareTo(java.lang.Object):13:13 -> a
+    3:3:int slowCompareTo(java.lang.Object,com.android.tools.r8.naming.NamingLens):13:13 -> a
+    4:4:java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function):38:38 -> a
+    5:5:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):46:46 -> a
+    6:6:void accept(java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,java.lang.Object):55:55 -> a
+    7:7:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):94:94 -> a
+    8:16:int slowCompareTo(com.android.tools.r8.graph.DexField):109:117 -> a
+    17:25:int slowCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.NamingLens):122:130 -> a
+    26:26:boolean match(com.android.tools.r8.graph.DexEncodedField):140:140 -> a
+    27:27:boolean match(com.android.tools.r8.graph.DexField):135:135 -> a
+    27:27:boolean match(com.android.tools.r8.graph.DexEncodedField):140 -> a
+    1:1:com.android.tools.r8.graph.DexEncodedField lookupOnClass(com.android.tools.r8.graph.DexClass):30:30 -> b
+    1:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):84:85 -> collectIndexedItems
+    3:181:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:178 -> collectIndexedItems
+    3:181:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):85 -> collectIndexedItems
+    182:427:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    182:427:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    182:427:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):85 -> collectIndexedItems
+    428:428:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):86:86 -> collectIndexedItems
+    429:607:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:178 -> collectIndexedItems
+    429:607:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):86 -> collectIndexedItems
+    608:853:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    608:853:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    608:853:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):86 -> collectIndexedItems
+    854:854:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):87:87 -> collectIndexedItems
+    855:1100:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    855:1100:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):87 -> collectIndexedItems
+    1:5:boolean computeEquals(java.lang.Object):67:71 -> computeEquals
+    1:3:int computeHashCode():60:62 -> computeHashCode
     boolean isDexField() -> e
-    1:1:java.lang.String toSmaliString():116:116 -> toSmaliString
-    1:1:java.lang.String toSourceString():121:121 -> toSourceString
-    1:1:java.lang.String toString():45:45 -> toString
+    1:1:java.lang.String toSmaliString():149:149 -> toSmaliString
+    1:1:java.lang.String toSourceString():154:154 -> toSourceString
+    1:1:java.lang.String toString():78:78 -> toString
 com.android.tools.r8.graph.DexItem -> com.android.tools.r8.graph.Y:
     1:1:void <init>():12:12 -> <init>
     1:1:void collectAll(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexItem[]):15:15 -> a
@@ -17465,450 +17456,454 @@
     1:1:java.lang.String toSmaliString():60:60 -> toSmaliString
     1:1:java.lang.String toSourceString():64:64 -> toSourceString
 com.android.tools.r8.graph.DexItemFactory -> com.android.tools.r8.graph.Z:
-    com.android.tools.r8.graph.DexString getClassMethodName -> A0
-    com.android.tools.r8.graph.DexString boxedIntDescriptor -> Q
-    com.android.tools.r8.graph.DexString classDescriptor -> b1
-    com.android.tools.r8.graph.DexType boxedLongType -> F2
-    com.android.tools.r8.graph.DexItemFactory$JavaMathBigIntegerMembers javaMathBigIntegerMembers -> N4
-    com.android.tools.r8.graph.DexType javaIoPrintStreamType -> g3
-    com.android.tools.r8.com.google.common.collect.BiMap primitiveToBoxed -> z5
-    com.android.tools.r8.graph.DexType annotationThrows -> h5
-    java.util.concurrent.ConcurrentHashMap referenceTypes -> q
-    com.android.tools.r8.graph.DexString getSimpleNameName -> I0
-    com.android.tools.r8.graph.DexString annotationDescriptor -> j1
-    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> l4
-    com.android.tools.r8.graph.DexString substringName -> r0
-    com.android.tools.r8.graph.DexString shortDescriptor -> A
-    com.android.tools.r8.graph.DexString icceDescriptor -> R1
-    java.util.Map types -> c
-    com.android.tools.r8.graph.DexType javaUtilLoggingLevelType -> W3
-    com.android.tools.r8.graph.DexType intArrayType -> w2
-    com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildMembers androidOsBuildMembers -> H4
-    com.android.tools.r8.graph.DexString initMethodName -> z0
-    com.android.tools.r8.graph.DexString longFieldUpdaterDescriptor -> Z1
-    com.android.tools.r8.graph.DexType javaIoFileType -> O3
-    com.android.tools.r8.graph.DexType longType -> o2
-    com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods assertionErrorMethods -> w4
-    com.android.tools.r8.graph.DexString unboxLongMethodName -> a0
-    com.android.tools.r8.graph.DexType longConsumer -> G3
-    com.android.tools.r8.graph.DexString boxedLongDescriptor -> R
-    com.android.tools.r8.graph.DexString optionalDescriptor -> I1
-    com.android.tools.r8.graph.DexString endsWithMethodName -> i0
-    com.android.tools.r8.graph.DexItemFactory$LongMembers longMembers -> t4
-    com.android.tools.r8.graph.DexString illegalArgumentExceptionDescriptor -> Q1
-    com.android.tools.r8.graph.DexString assertionsDisabled -> Q0
-    com.android.tools.r8.graph.DexString varHandleDescriptor -> r1
-    com.android.tools.r8.graph.DexString voidDescriptor -> B
-    java.util.Map fields -> d
-    com.android.tools.r8.graph.DexType strictMathType -> W2
-    com.android.tools.r8.graph.DexType supplierType -> x3
-    com.android.tools.r8.graph.DexString stringArrayDescriptor -> Y0
-    com.android.tools.r8.graph.DexString setDescriptor -> z1
-    com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods atomicFieldUpdaterMethods -> D4
-    com.android.tools.r8.graph.DexType lookupType -> q5
-    com.android.tools.r8.graph.DexType objectArrayType -> O2
-    com.android.tools.r8.graph.DexType listType -> p3
-    com.android.tools.r8.graph.DexMethod metafactoryAltMethod -> B5
-    com.android.tools.r8.graph.DexString newUpdaterName -> b2
-    com.android.tools.r8.graph.DexString mapDescriptor -> A1
-    com.android.tools.r8.graph.DexItemFactory$ConstructorMethods constructorMethods -> y4
-    com.android.tools.r8.graph.DexString boxedShortDescriptor -> S
-    com.android.tools.r8.graph.DexString booleanDescriptor -> t
-    com.android.tools.r8.graph.DexType annotationSourceDebugExtension -> g5
-    com.android.tools.r8.graph.DexType javaLangSystemType -> f3
-    com.android.tools.r8.graph.DexString enumDescriptor -> i1
-    com.android.tools.r8.graph.DexType boxedIntType -> E2
-    com.android.tools.r8.graph.DexString getCanonicalNameName -> H0
-    com.android.tools.r8.graph.DexItemFactory$FloatMembers floatMembers -> o4
-    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBufferMethods -> m4
-    com.android.tools.r8.graph.DexString newInstanceName -> P0
-    com.android.tools.r8.graph.DexString stringBufferDescriptor -> q1
-    com.android.tools.r8.graph.DexString cloneMethodName -> q0
-    com.android.tools.r8.graph.DexType floatArrayType -> v2
-    java.util.List libraryMembersCollection -> U4
-    com.android.tools.r8.graph.DexString descriptorSeparator -> C
-    com.android.tools.r8.graph.DexType javaUtilLocaleType -> V3
-    com.android.tools.r8.graph.DexString intFieldUpdaterDescriptor -> Y1
-    com.android.tools.r8.graph.DexItemFactory$ClassMethods classMethods -> x4
-    com.android.tools.r8.graph.DexString wrapperFieldName -> y0
-    com.android.tools.r8.graph.DexType intType -> n2
-    java.util.Map protos -> e
-    com.android.tools.r8.graph.DexType kotlinMetadataType -> N3
-    com.android.tools.r8.graph.DexString objectArrayDescriptor -> a1
-    java.util.Set libraryMethodsReturningNonNull -> F5
-    com.android.tools.r8.graph.DexString boxedNumberDescriptor -> T
-    com.android.tools.r8.graph.DexString enumUnboxingUtilityDescriptor -> j4
-    com.android.tools.r8.graph.DexString byteDescriptor -> u
-    com.android.tools.r8.graph.DexType androidViewViewType -> g4
-    com.android.tools.r8.graph.DexItemFactory$AndroidViewViewMembers androidViewViewMembers -> L4
-    com.android.tools.r8.graph.DexString startsWithMethodName -> h0
-    com.android.tools.r8.graph.DexString runnableDescriptor -> H1
-    com.android.tools.r8.graph.DexType doubleConsumer -> F3
-    com.android.tools.r8.graph.DexString compareToIgnoreCaseMethodName -> p0
-    com.android.tools.r8.graph.DexString illegalAccessErrorDescriptor -> P1
-    com.android.tools.r8.graph.DexType mathType -> V2
-    com.android.tools.r8.graph.DexType callableType -> w3
-    com.android.tools.r8.graph.DexString booleanArrayDescriptor -> D
-    com.android.tools.r8.graph.DexType comparableType -> x5
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap advanceLines -> h
-    com.android.tools.r8.graph.DexString stringDescriptor -> X0
-    com.android.tools.r8.graph.DexString listDescriptor -> y1
-    com.android.tools.r8.graph.DexItemFactory$IntegerMembers integerMembers -> p4
-    com.android.tools.r8.graph.DexType objectType -> N2
-    com.android.tools.r8.graph.DexType serviceLoaderConfigurationErrorType -> o3
-    com.android.tools.r8.graph.DexMethod metafactoryMethod -> A5
-    com.android.tools.r8.graph.DexItemFactory$JavaNioByteOrderMembers javaNioByteOrderMembers -> O4
-    java.util.Map methods -> f
-    com.android.tools.r8.graph.DexType callSiteType -> p5
-    com.android.tools.r8.graph.DexString referenceFieldUpdaterDescriptor -> a2
-    com.android.tools.r8.graph.DexString ordinalMethodName -> C0
-    com.android.tools.r8.graph.DexString autoCloseableDescriptor -> d1
-    com.android.tools.r8.graph.DexType stringBufferType -> e3
-    com.android.tools.r8.graph.DexItemFactory$ObjectMembers objectMembers -> r4
-    java.util.Map setFiles -> o
-    com.android.tools.r8.graph.DexType boxedFloatType -> D2
-    com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods javaUtilArraysMethods -> P4
-    com.android.tools.r8.graph.DexType annotationSignature -> f5
-    com.android.tools.r8.graph.DexString getDeclaredConstructorName -> K0
-    com.android.tools.r8.graph.DexString collectionsDescriptor -> l1
-    com.android.tools.r8.graph.DexString valueOfMethodName -> t0
-    com.android.tools.r8.graph.DexString noClassDefFoundErrorDescriptor -> T1
-    com.android.tools.r8.graph.DexType javaUtilListType -> U3
-    com.android.tools.r8.graph.DexType doubleArrayType -> u2
-    com.android.tools.r8.graph.DexItemFactory$BooleanMembers booleanMembers -> n4
-    java.util.Set libraryTypesAssumedToBePresent -> I5
-    com.android.tools.r8.graph.DexType npeType -> M3
-    com.android.tools.r8.graph.DexString boxedByteDescriptor -> M
-    com.android.tools.r8.graph.DexType floatType -> m2
-    com.android.tools.r8.graph.DexString classConstructorMethodName -> d2
-    com.android.tools.r8.graph.DexString collectionDescriptor -> C1
-    com.android.tools.r8.graph.DexString unboxDoubleMethodName -> c0
-    com.android.tools.r8.graph.DexType androidUtilPropertyType -> f4
-    com.android.tools.r8.graph.DexString unknownTypeName -> M5
-    java.util.Map setInlineFrames -> p
-    com.android.tools.r8.graph.DexType streamType -> E3
-    com.android.tools.r8.graph.DexString optionalIntDescriptor -> K1
-    com.android.tools.r8.graph.DexString equalsIgnoreCaseMethodName -> k0
-    com.android.tools.r8.graph.DexItemFactory$JavaIoFileMembers javaIoFileMembers -> M4
-    com.android.tools.r8.graph.DexString invokeExactMethodName -> S0
-    com.android.tools.r8.graph.DexString methodTypeDescriptor -> t1
-    com.android.tools.r8.graph.DexType cloneableType -> w5
-    com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin setEpilogueBegin -> m
-    com.android.tools.r8.graph.DexType iterableType -> U2
-    com.android.tools.r8.graph.DexType comparatorType -> v3
-    com.android.tools.r8.graph.DexItemFactory$JavaUtilConcurrentTimeUnitMembers javaUtilConcurrentTimeUnitMembers -> R4
-    com.android.tools.r8.graph.DexType metafactoryType -> o5
-    com.android.tools.r8.graph.DexType stringArrayType -> M2
-    com.android.tools.r8.graph.DexType serviceLoaderRewrittenClassType -> n3
-    com.android.tools.r8.graph.DexString boxedCharDescriptor -> N
-    com.android.tools.r8.graph.DexString classLoaderDescriptor -> c1
-    com.android.tools.r8.graph.DexString finalizeMethodName -> B0
-    com.android.tools.r8.graph.DexType boxedDoubleType -> C2
-    com.android.tools.r8.graph.DexType annotationMethodParameters -> e5
-    com.android.tools.r8.graph.DexType stringBuilderType -> d3
-    com.android.tools.r8.graph.DexString objectsDescriptor -> k1
-    com.android.tools.r8.graph.DexString getTypeNameName -> J0
-    com.android.tools.r8.graph.DexString exceptionInInitializerErrorDescriptor -> S1
-    com.android.tools.r8.graph.DexString trimName -> s0
-    com.android.tools.r8.graph.DexType charArrayType -> t2
-    com.android.tools.r8.graph.DexType javaUtilConcurrentTimeUnitType -> T3
-    com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods npeMethods -> A4
-    com.android.tools.r8.graph.DexItemFactory$AndroidSystemOsConstantsMembers androidSystemOsConstantsMembers -> K4
-    java.util.Set libraryMethodsWithReturnValueDependingOnlyOnArguments -> H5
-    com.android.tools.r8.graph.DexType doubleType -> l2
-    com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildVersionMembers androidOsBuildVersionMembers -> I4
-    com.android.tools.r8.graph.DexString boxedDoubleDescriptor -> O
-    com.android.tools.r8.graph.DexType icceType -> L3
-    com.android.tools.r8.graph.DexString boxedFloatDescriptor -> P
-    com.android.tools.r8.graph.DexString unboxFloatMethodName -> b0
-    com.android.tools.r8.graph.DexString mapEntryDescriptor -> B1
-    com.android.tools.r8.graph.DexString constructorMethodName -> c2
-    com.android.tools.r8.graph.DexItemFactory$ProxyMethods proxyMethods -> G4
-    com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd setPrologueEnd -> n
-    com.android.tools.r8.graph.DexType optionalLongType -> D3
-    java.util.concurrent.ConcurrentHashMap classTypeInterfaces -> r
-    com.android.tools.r8.graph.DexType androidUtilLogType -> e4
-    com.android.tools.r8.graph.DexString equalsMethodName -> j0
-    com.android.tools.r8.graph.DexString optionalDoubleDescriptor -> J1
-    com.android.tools.r8.graph.DexString invokeMethodName -> R0
-    com.android.tools.r8.graph.DexString methodHandleDescriptor -> s1
-    java.util.Map strings -> b
-    com.android.tools.r8.graph.DexType collectionsType -> T2
-    com.android.tools.r8.graph.DexType collectionType -> u3
-    com.android.tools.r8.graph.DexType externalizableType -> v5
-    com.android.tools.r8.graph.DexString objectDescriptor -> Z0
-    com.android.tools.r8.graph.DexProto deserializeLambdaMethodProto -> Y4
-    com.android.tools.r8.graph.DexType stringType -> L2
-    com.android.tools.r8.graph.DexType serviceLoaderType -> m3
-    com.android.tools.r8.graph.DexMethod deserializeLambdaMethod -> C5
-    java.util.IdentityHashMap internalSentinels -> N5
-    boolean $assertionsDisabled -> O5
-    com.android.tools.r8.graph.DexType dalvikCriticalNativeAnnotation -> n5
-    com.android.tools.r8.graph.DexType annotationReachabilitySensitive -> l5
-    java.util.Map libraryMethodsWithoutSideEffects -> G5
-    com.android.tools.r8.graph.DexString desiredAssertionStatusMethodName -> E0
-    com.android.tools.r8.graph.DexString constructorDescriptor -> f1
-    com.android.tools.r8.graph.DexType boxedCharType -> B2
-    com.android.tools.r8.graph.DexType autoCloseableType -> c3
-    com.android.tools.r8.graph.DexString unboxShortMethodName -> Y
-    com.android.tools.r8.graph.DexType annotationMemberClasses -> d5
-    com.android.tools.r8.graph.DexString longDescriptor -> z
-    com.android.tools.r8.graph.DexString getDeclaredFieldName -> M0
-    com.android.tools.r8.graph.DexString mathDescriptor -> n1
-    com.android.tools.r8.graph.DexString toStringMethodName -> v0
-    com.android.tools.r8.graph.DexString npeDescriptor -> V1
-    com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields primitiveTypesBoxedTypeFields -> C4
-    com.android.tools.r8.graph.DexType javaUtilComparatorType -> S3
-    com.android.tools.r8.graph.DexType byteArrayType -> s2
-    com.android.tools.r8.graph.DexItemFactory$JavaUtilLocaleMembers javaUtilLocaleMembers -> S4
-    com.android.tools.r8.graph.DexString intArrayDescriptor -> I
-    com.android.tools.r8.graph.DexType illegalArgumentExceptionType -> K3
-    com.android.tools.r8.graph.DexType charType -> k2
-    com.android.tools.r8.graph.DexType nullValueType -> L5
-    com.android.tools.r8.graph.DexString enumValuesFieldName -> f2
-    com.android.tools.r8.graph.DexItemFactory$StringMembers stringMembers -> s4
-    com.android.tools.r8.graph.DexString callableDescriptor -> E1
-    com.android.tools.r8.graph.DexString lengthMethodName -> e0
-    com.android.tools.r8.graph.DexType optionalIntType -> C3
-    com.android.tools.r8.graph.DexType androidSystemOsConstantsType -> d4
-    com.android.tools.r8.graph.DexString unboxIntMethodName -> Z
-    com.android.tools.r8.graph.DexString streamDescriptor -> M1
-    com.android.tools.r8.graph.DexType stringConcatFactoryType -> D5
-    com.android.tools.r8.graph.DexString indexOfMethodName -> m0
-    com.android.tools.r8.graph.DexString assertionErrorDescriptor -> U0
-    com.android.tools.r8.graph.DexString proxyDescriptor -> v1
-    com.android.tools.r8.kotlin.Kotlin kotlin -> E4
-    com.android.tools.r8.graph.DexType serializableType -> u5
-    com.android.tools.r8.graph.DexType objectsType -> S2
-    com.android.tools.r8.graph.DexType abstractMapSimpleEntryType -> t3
-    com.android.tools.r8.graph.DexString longArrayDescriptor -> J
-    com.android.tools.r8.graph.DexType dalvikFastNativeAnnotation -> m5
-    com.android.tools.r8.graph.DexType charSequenceArrayType -> K2
-    com.android.tools.r8.graph.DexType proxyType -> l3
-    com.android.tools.r8.graph.DexType annotationCovariantReturnTypes -> k5
-    com.android.tools.r8.graph.DexType methodTypeType -> j3
-    com.android.tools.r8.graph.DexString classArrayDescriptor -> e1
-    com.android.tools.r8.graph.DexType boxedVoidType -> I2
-    com.android.tools.r8.graph.DexString nameMethodName -> D0
-    com.android.tools.r8.utils.LRUCacheTable leastUpperBoundOfInterfacesTable -> s
-    com.android.tools.r8.graph.DexType annotationInnerClass -> c5
-    com.android.tools.r8.graph.DexType methodType -> b3
-    com.android.tools.r8.graph.DexString getFieldName -> L0
-    com.android.tools.r8.graph.DexString iterableDescriptor -> m1
-    com.android.tools.r8.graph.DexType boxedByteType -> A2
-    com.android.tools.r8.graph.DexType boxedBooleanType -> z2
-    com.android.tools.r8.graph.DexType androidOsBuildType -> Z3
-    com.android.tools.r8.graph.DexString noSuchFieldErrorDescriptor -> U1
-    com.android.tools.r8.graph.DexString valuesMethodName -> u0
-    com.android.tools.r8.graph.DexType booleanArrayType -> r2
-    com.android.tools.r8.graph.DexType javaUtilCollectionsType -> R3
-    com.android.tools.r8.graph.DexString shortArrayDescriptor -> K
-    java.util.Set libraryClassesWithoutStaticInitialization -> J5
-    com.android.tools.r8.graph.DexType byteType -> j2
-    com.android.tools.r8.graph.DexType enumUnboxingUtilityType -> k4
-    com.android.tools.r8.graph.DexString isEmptyMethodName -> d0
-    com.android.tools.r8.graph.DexString comparatorDescriptor -> D1
-    com.android.tools.r8.graph.DexType throwableType -> J3
-    com.android.tools.r8.graph.DexString thisName -> e2
-    com.android.tools.r8.graph.DexType androidOsParcelableCreatorType -> c4
-    com.android.tools.r8.graph.DexString contentEqualsMethodName -> l0
-    com.android.tools.r8.graph.DexType optionalDoubleType -> B3
-    com.android.tools.r8.graph.DexString optionalLongDescriptor -> L1
-    com.android.tools.r8.graph.DexType classLoaderType -> Z2
-    com.android.tools.r8.graph.DexString twrCloseResourceMethodName -> V4
-    com.android.tools.r8.graph.DexString runtimeExceptionDescriptor -> T0
-    com.android.tools.r8.graph.DexString invocationHandlerDescriptor -> u1
-    com.android.tools.r8.graph.DexType annotationType -> R2
-    com.android.tools.r8.graph.DexType mapEntryType -> s3
-    com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods serviceLoaderMethods -> y5
-    com.android.tools.r8.graph.DexProto twrCloseResourceMethodProto -> W4
-    com.android.tools.r8.graph.DexItemFactory$ThrowableMethods throwableMethods -> v4
-    com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods illegalArgumentExceptionMethods -> B4
-    com.android.tools.r8.graph.DexType enumerationType -> t5
-    com.android.tools.r8.graph.DexItemFactory$ObjectsMethods objectsMethods -> q4
-    com.android.tools.r8.graph.DexString boxedBooleanDescriptor -> L
-    com.android.tools.r8.graph.DexType charSequenceType -> J2
-    com.android.tools.r8.graph.DexType invocationHandlerType -> k3
-    com.android.tools.r8.graph.DexItemFactory$JavaUtilComparatorMembers javaUtilComparatorMembers -> Q4
-    com.android.tools.r8.graph.DexType methodHandleType -> i3
-    com.android.tools.r8.graph.DexType boxedNumberType -> H2
-    com.android.tools.r8.graph.DexType annotationCovariantReturnType -> j5
-    com.android.tools.r8.graph.DexString boxedVoidDescriptor -> U
-    com.android.tools.r8.graph.DexString charDescriptor -> v
-    com.android.tools.r8.graph.DexString getNameName -> G0
-    com.android.tools.r8.graph.DexString methodDescriptor -> h1
-    com.android.tools.r8.graph.DexType fieldType -> a3
-    com.android.tools.r8.graph.DexType annotationEnclosingMethod -> b5
-    com.android.tools.r8.graph.DexString getDeclaredMethodName -> O0
-    com.android.tools.r8.graph.DexString stringBuilderDescriptor -> p1
-    com.android.tools.r8.graph.DexType javaUtilSetType -> Y3
-    com.android.tools.r8.graph.DexType shortArrayType -> y2
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap advancePCs -> i
-    com.android.tools.r8.graph.DexString byteArrayDescriptor -> E
-    com.android.tools.r8.graph.DexString convertMethodName -> x0
-    com.android.tools.r8.graph.DexString kotlinMetadataDescriptor -> X1
-    com.android.tools.r8.graph.DexType javaNioByteOrderType -> Q3
-    com.android.tools.r8.graph.DexType voidType -> q2
-    java.util.Map methodHandles -> g
-    java.util.Set libraryMethodsReturningReceiver -> E5
-    com.android.tools.r8.graph.DexType booleanType -> i2
-    com.android.tools.r8.graph.DexType runtimeExceptionType -> I3
-    com.android.tools.r8.graph.DexString throwableArrayDescriptor -> h2
-    com.android.tools.r8.graph.DexString consumerDescriptor -> G1
-    com.android.tools.r8.graph.DexString unboxBooleanMethodName -> V
-    com.android.tools.r8.graph.DexString doubleDescriptor -> w
-    com.android.tools.r8.graph.DexString containsMethodName -> g0
-    com.android.tools.r8.graph.DexType androidOsBundleType -> b4
-    com.android.tools.r8.graph.DexItemFactory$DoubleMethods doubleMethods -> u4
-    com.android.tools.r8.graph.DexType optionalType -> A3
-    com.android.tools.r8.graph.DexItemFactory$AndroidOsBundleMembers androidOsBundleMembers -> J4
-    com.android.tools.r8.graph.DexItemFactory$JavaUtilLoggingLevelMembers javaUtilLoggingLevelMembers -> T4
-    com.android.tools.r8.graph.DexString throwableDescriptor -> O1
-    com.android.tools.r8.graph.DexString compareToMethodName -> o0
-    com.android.tools.r8.graph.DexType annotationDefault -> Z4
-    com.android.tools.r8.graph.DexType classType -> Y2
-    com.android.tools.r8.graph.DexType runnableType -> z3
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap defaults -> j
-    com.android.tools.r8.graph.DexString charArrayDescriptor -> F
-    com.android.tools.r8.graph.DexString charSequenceArrayDescriptor -> W0
-    com.android.tools.r8.graph.DexString serviceLoaderConfigurationErrorDescriptor -> x1
-    com.android.tools.r8.graph.DexType listIteratorType -> s5
-    com.android.tools.r8.graph.DexType enumType -> Q2
-    com.android.tools.r8.graph.DexType mapType -> r3
-    com.android.tools.r8.graph.DexType boxedShortType -> G2
-    com.android.tools.r8.graph.DexType annotationSynthesizedClassMap -> i5
-    boolean skipNameValidationForTesting -> K5
-    com.android.tools.r8.graph.DexType varHandleType -> h3
-    com.android.tools.r8.graph.DexString fieldDescriptor -> g1
-    com.android.tools.r8.graph.DexString forNameMethodName -> F0
-    com.android.tools.r8.graph.DexString unboxByteMethodName -> W
-    com.android.tools.r8.graph.DexString floatDescriptor -> x
-    com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods polymorphicMethods -> F4
-    com.android.tools.r8.graph.DexType annotationEnclosingClass -> a5
-    com.android.tools.r8.graph.DexString getMethodName -> N0
-    com.android.tools.r8.graph.DexString strictMathDescriptor -> o1
-    com.android.tools.r8.graph.DexType longArrayType -> x2
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap endLocals -> k
-    com.android.tools.r8.graph.DexType javaUtilLoggingLoggerType -> X3
-    com.android.tools.r8.graph.DexString reflectiveOperationExceptionDescriptor -> W1
-    com.android.tools.r8.graph.DexItemFactory$EnumMethods enumMethods -> z4
-    com.android.tools.r8.graph.DexString doubleArrayDescriptor -> G
-    com.android.tools.r8.graph.DexString internMethodName -> w0
-    com.android.tools.r8.graph.DexType shortType -> p2
-    com.android.tools.r8.graph.DexType javaMathBigIntegerType -> P3
-    com.android.tools.r8.graph.DexType intConsumer -> H3
-    com.android.tools.r8.graph.DexString nestConstructorDescriptor -> h4
-    com.android.tools.r8.graph.DexType nestConstructorType -> i4
-    com.android.tools.r8.graph.DexString concatMethodName -> f0
-    com.android.tools.r8.graph.DexString supplierDescriptor -> F1
-    com.android.tools.r8.graph.DexString enabledFieldName -> g2
-    com.android.tools.r8.graph.DexString unboxCharMethodName -> X
-    com.android.tools.r8.graph.DexString intDescriptor -> y
-    java.util.Set possibleCompilerSynthesizedTypes -> a
-    com.android.tools.r8.graph.DexType androidOsBuildVersionType -> a4
-    com.android.tools.r8.graph.DexString lastIndexOfMethodName -> n0
-    com.android.tools.r8.graph.DexString arraysDescriptor -> N1
-    com.android.tools.r8.graph.DexType referenceFieldUpdaterType -> X2
-    com.android.tools.r8.graph.DexType consumerType -> y3
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap restartLocals -> l
-    com.android.tools.r8.graph.DexString deserializeLambdaMethodName -> X4
-    com.android.tools.r8.graph.DexString charSequenceDescriptor -> V0
-    com.android.tools.r8.graph.DexString serviceLoaderDescriptor -> w1
-    com.android.tools.r8.graph.DexString floatArrayDescriptor -> H
-    com.android.tools.r8.graph.DexType classArrayType -> P2
-    com.android.tools.r8.graph.DexType setType -> q3
-    com.android.tools.r8.graph.DexType iteratorType -> r5
+    com.android.tools.r8.graph.DexString trimName -> A0
+    com.android.tools.r8.graph.DexString boxedByteDescriptor -> Q
+    com.android.tools.r8.graph.DexString runtimeExceptionDescriptor -> b1
+    com.android.tools.r8.graph.DexType longArrayType -> F2
+    java.util.Map setFiles -> s
+    com.android.tools.r8.graph.DexType classType -> g3
+    com.android.tools.r8.graph.DexMethod deserializeLambdaMethod -> K5
+    com.android.tools.r8.graph.DexType annotationDefault -> h5
+    com.android.tools.r8.graph.DexString getClassMethodName -> I0
+    com.android.tools.r8.graph.DexString classDescriptor -> j1
+    com.android.tools.r8.graph.DexItemFactory$JavaMathBigIntegerMembers javaMathBigIntegerMembers -> V4
+    com.android.tools.r8.graph.DexString hashCodeMethodName -> r0
+    com.android.tools.r8.graph.DexString doubleDescriptor -> A
+    com.android.tools.r8.graph.DexString optionalDoubleDescriptor -> R1
+    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> t4
+    com.android.tools.r8.graph.DexString unknownTypeName -> b
+    com.android.tools.r8.graph.DexType javaIoFileType -> W3
+    com.android.tools.r8.graph.DexType longType -> w2
+    com.android.tools.r8.graph.DexString substringName -> z0
+    com.android.tools.r8.graph.DexString icceDescriptor -> Z1
+    com.android.tools.r8.graph.DexType longConsumer -> O3
+    com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildMembers androidOsBuildMembers -> P4
+    com.android.tools.r8.graph.DexString twrCloseResourceMethodName -> d5
+    com.android.tools.r8.graph.DexString notifyMethodName -> a0
+    com.android.tools.r8.graph.DexType consumerType -> G3
+    com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods atomicFieldUpdaterMethods -> L4
+    com.android.tools.r8.graph.DexString boxedCharDescriptor -> R
+    com.android.tools.r8.graph.DexType androidOsBuildType -> h4
+    java.util.Map setInlineFrames -> t
+    com.android.tools.r8.graph.DexString newUpdaterName -> j2
+    com.android.tools.r8.graph.DexString mapDescriptor -> I1
+    com.android.tools.r8.graph.DexString unboxFloatMethodName -> i0
+    com.android.tools.r8.graph.DexString optionalDescriptor -> Q1
+    com.android.tools.r8.graph.DexProto twrCloseResourceMethodProto -> e5
+    com.android.tools.r8.graph.DexString getSimpleNameName -> Q0
+    com.android.tools.r8.graph.DexString annotationDescriptor -> r1
+    com.android.tools.r8.graph.DexString floatDescriptor -> B
+    com.android.tools.r8.graph.DexType lookupType -> y5
+    com.android.tools.r8.graph.DexType objectArrayType -> W2
+    com.android.tools.r8.graph.DexType listType -> x3
+    com.android.tools.r8.graph.DexString assertionsDisabled -> Y0
+    com.android.tools.r8.graph.DexString varHandleDescriptor -> z1
+    com.android.tools.r8.graph.DexType annotationSynthesizedClassMap -> q5
+    com.android.tools.r8.graph.DexType boxedShortType -> O2
+    com.android.tools.r8.graph.DexType varHandleType -> p3
+    com.android.tools.r8.graph.DexString noClassDefFoundErrorDescriptor -> b2
+    com.android.tools.r8.graph.DexString methodHandleDescriptor -> A1
+    com.android.tools.r8.graph.DexString boxedDoubleDescriptor -> S
+    com.android.tools.r8.graph.DexItemFactory$JavaUtilLocaleMembers javaUtilLocaleMembers -> a5
+    com.android.tools.r8.graph.DexType referenceFieldUpdaterType -> f3
+    com.android.tools.r8.graph.DexMethod metafactoryAltMethod -> J5
+    com.android.tools.r8.graph.DexString objectArrayDescriptor -> i1
+    com.android.tools.r8.graph.DexType intArrayType -> E2
+    com.android.tools.r8.graph.DexString initMethodName -> H0
+    com.android.tools.r8.graph.DexString getCanonicalNameName -> P0
+    com.android.tools.r8.graph.DexString enumDescriptor -> q1
+    com.android.tools.r8.graph.DexItemFactory$FloatMembers floatMembers -> w4
+    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBufferMethods -> u4
+    com.android.tools.r8.graph.DexString equalsMethodName -> q0
+    com.android.tools.r8.graph.DexType intType -> v2
+    com.android.tools.r8.graph.DexString intDescriptor -> C
+    com.android.tools.r8.graph.DexType kotlinMetadataType -> V3
+    com.android.tools.r8.graph.DexString illegalArgumentExceptionDescriptor -> Y1
+    java.util.Set libraryMethodsReturningNonNull -> N5
+    com.android.tools.r8.graph.DexString cloneMethodName -> y0
+    com.android.tools.r8.graph.DexType doubleConsumer -> N3
+    com.android.tools.r8.graph.DexType androidViewViewType -> o4
+    com.android.tools.r8.graph.DexString invokeExactMethodName -> a1
+    com.android.tools.r8.graph.DexItemFactory$EnumMethods enumMethods -> H4
+    com.android.tools.r8.graph.DexString boxedFloatDescriptor -> T
+    com.android.tools.r8.graph.DexType javaUtilSetType -> g4
+    com.android.tools.r8.graph.DexString unboxLongMethodName -> h0
+    com.android.tools.r8.graph.DexString setDescriptor -> H1
+    com.android.tools.r8.graph.DexType supplierType -> F3
+    com.android.tools.r8.graph.DexString referenceFieldUpdaterDescriptor -> i2
+    com.android.tools.r8.graph.DexString enumUnboxingUtilityDescriptor -> r4
+    com.android.tools.r8.graph.DexItemFactory$AndroidViewViewMembers androidViewViewMembers -> T4
+    com.android.tools.r8.graph.DexString endsWithMethodName -> p0
+    com.android.tools.r8.graph.DexString runnableDescriptor -> P1
+    com.android.tools.r8.graph.DexItemFactory$IntegerMembers integerMembers -> x4
+    com.android.tools.r8.graph.DexType objectType -> V2
+    com.android.tools.r8.graph.DexType serviceLoaderConfigurationErrorType -> w3
+    com.android.tools.r8.graph.DexItemFactory$JavaNioByteOrderMembers javaNioByteOrderMembers -> W4
+    com.android.tools.r8.graph.DexString longDescriptor -> D
+    com.android.tools.r8.graph.DexType callSiteType -> x5
+    com.android.tools.r8.graph.DexString newInstanceName -> X0
+    com.android.tools.r8.graph.DexString stringBufferDescriptor -> y1
+    com.android.tools.r8.graph.DexItemFactory$LongMembers longMembers -> B4
+    com.android.tools.r8.graph.DexType boxedLongType -> N2
+    com.android.tools.r8.graph.DexType javaIoPrintStreamType -> o3
+    java.util.Map strings -> f
+    com.android.tools.r8.graph.DexType annotationThrows -> p5
+    com.android.tools.r8.graph.DexString exceptionInInitializerErrorDescriptor -> a2
+    com.android.tools.r8.graph.DexString deserializeLambdaMethodName -> f5
+    com.android.tools.r8.graph.DexString valuesMethodName -> C0
+    java.util.concurrent.ConcurrentHashMap referenceTypes -> u
+    com.android.tools.r8.graph.DexString charSequenceDescriptor -> d1
+    com.android.tools.r8.graph.DexType strictMathType -> e3
+    com.android.tools.r8.graph.DexType floatArrayType -> D2
+    com.android.tools.r8.graph.DexString ordinalMethodName -> K0
+    com.android.tools.r8.graph.DexString autoCloseableDescriptor -> l1
+    com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods javaUtilArraysMethods -> X4
+    com.android.tools.r8.graph.DexString contentEqualsMethodName -> t0
+    com.android.tools.r8.graph.DexItemFactory$BooleanMembers booleanMembers -> v4
+    com.android.tools.r8.graph.DexString optionalLongDescriptor -> T1
+    java.util.Set libraryTypesAssumedToBePresent -> Q5
+    com.android.tools.r8.graph.DexType npeType -> U3
+    com.android.tools.r8.graph.DexType floatType -> u2
+    com.android.tools.r8.graph.DexType streamType -> M3
+    com.android.tools.r8.graph.DexType androidUtilPropertyType -> n4
+    com.android.tools.r8.graph.DexString intArrayDescriptor -> M
+    com.android.tools.r8.graph.DexString npeDescriptor -> d2
+    com.android.tools.r8.graph.DexString invocationHandlerDescriptor -> C1
+    com.android.tools.r8.graph.DexString unboxBooleanMethodName -> c0
+    com.android.tools.r8.graph.DexType javaUtilLoggingLoggerType -> f4
+    com.android.tools.r8.graph.DexItemFactory$JavaIoFileMembers javaIoFileMembers -> U4
+    com.android.tools.r8.graph.DexType comparableType -> F5
+    com.android.tools.r8.graph.DexType callableType -> E3
+    com.android.tools.r8.graph.DexString classConstructorMethodName -> l2
+    com.android.tools.r8.graph.DexString collectionDescriptor -> K1
+    com.android.tools.r8.graph.DexString isEmptyMethodName -> k0
+    com.android.tools.r8.com.google.common.collect.BiMap primitiveToBoxed -> H5
+    com.android.tools.r8.graph.DexString getDeclaredConstructorName -> S0
+    com.android.tools.r8.graph.DexString collectionsDescriptor -> t1
+    com.android.tools.r8.graph.DexType metafactoryType -> w5
+    com.android.tools.r8.graph.DexType stringArrayType -> U2
+    com.android.tools.r8.graph.DexType serviceLoaderRewrittenClassType -> v3
+    com.android.tools.r8.utils.LRUCacheTable leastUpperBoundOfInterfacesTable -> w
+    com.android.tools.r8.graph.DexType annotationSourceDebugExtension -> o5
+    com.android.tools.r8.graph.DexType boxedIntType -> M2
+    com.android.tools.r8.graph.DexType javaLangSystemType -> n3
+    com.android.tools.r8.graph.DexItemFactory$ObjectMembers objectMembers -> z4
+    com.android.tools.r8.graph.DexItemFactory$JavaUtilConcurrentTimeUnitMembers javaUtilConcurrentTimeUnitMembers -> Z4
+    com.android.tools.r8.graph.DexString longArrayDescriptor -> N
+    com.android.tools.r8.graph.DexString assertionErrorDescriptor -> c1
+    com.android.tools.r8.graph.DexItemFactory$AndroidSystemOsConstantsMembers androidSystemOsConstantsMembers -> S4
+    com.android.tools.r8.graph.DexString valueOfMethodName -> B0
+    com.android.tools.r8.graph.DexType doubleArrayType -> C2
+    com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildVersionMembers androidOsBuildVersionMembers -> Q4
+    com.android.tools.r8.graph.DexType mathType -> d3
+    com.android.tools.r8.graph.DexString classLoaderDescriptor -> k1
+    com.android.tools.r8.graph.DexString finalizeMethodName -> J0
+    com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods npeMethods -> I4
+    com.android.tools.r8.graph.DexString optionalIntDescriptor -> S1
+    java.util.Set libraryMethodsWithReturnValueDependingOnlyOnArguments -> P5
+    com.android.tools.r8.graph.DexString equalsIgnoreCaseMethodName -> s0
+    com.android.tools.r8.graph.DexType doubleType -> t2
+    com.android.tools.r8.graph.DexType icceType -> T3
+    com.android.tools.r8.graph.DexString shortArrayDescriptor -> O
+    com.android.tools.r8.graph.DexType optionalLongType -> L3
+    com.android.tools.r8.graph.DexType androidUtilLogType -> m4
+    com.android.tools.r8.graph.DexString boxedBooleanDescriptor -> P
+    com.android.tools.r8.graph.DexString notifyAllMethodName -> b0
+    com.android.tools.r8.graph.DexString methodTypeDescriptor -> B1
+    com.android.tools.r8.graph.DexString noSuchFieldErrorDescriptor -> c2
+    com.android.tools.r8.graph.DexType comparatorType -> D3
+    com.android.tools.r8.graph.DexType cloneableType -> E5
+    com.android.tools.r8.graph.DexType javaUtilLoggingLevelType -> e4
+    com.android.tools.r8.graph.DexString unboxDoubleMethodName -> j0
+    com.android.tools.r8.graph.DexString mapEntryDescriptor -> J1
+    com.android.tools.r8.graph.DexString constructorMethodName -> k2
+    com.android.tools.r8.graph.DexItemFactory$ClassMethods classMethods -> F4
+    com.android.tools.r8.graph.DexItemFactory$ProxyMethods proxyMethods -> O4
+    com.android.tools.r8.graph.DexString getTypeNameName -> R0
+    com.android.tools.r8.graph.DexString objectsDescriptor -> s1
+    com.android.tools.r8.graph.DexType stringType -> T2
+    com.android.tools.r8.graph.DexType serviceLoaderType -> u3
+    com.android.tools.r8.graph.DexItemFactory$StringMembers stringMembers -> A4
+    com.android.tools.r8.graph.DexType dalvikCriticalNativeAnnotation -> v5
+    com.android.tools.r8.graph.DexString invokeMethodName -> Z0
+    com.android.tools.r8.graph.DexType boxedFloatType -> L2
+    com.android.tools.r8.graph.DexType stringBufferType -> m3
+    com.android.tools.r8.graph.DexItemFactory$JavaUtilLoggingLevelMembers javaUtilLoggingLevelMembers -> b5
+    com.android.tools.r8.graph.DexType annotationSignature -> n5
+    com.android.tools.r8.graph.DexType annotationMemberClasses -> l5
+    com.android.tools.r8.graph.DexString internMethodName -> E0
+    com.android.tools.r8.graph.DexString stringDescriptor -> f1
+    com.android.tools.r8.graph.DexType charArrayType -> B2
+    com.android.tools.r8.graph.DexType iterableType -> c3
+    com.android.tools.r8.graph.DexString boxedVoidDescriptor -> Y
+    com.android.tools.r8.graph.DexString charDescriptor -> z
+    com.android.tools.r8.graph.DexString desiredAssertionStatusMethodName -> M0
+    com.android.tools.r8.graph.DexString constructorDescriptor -> n1
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap advancePCs -> m
+    com.android.tools.r8.graph.DexString lastIndexOfMethodName -> v0
+    com.android.tools.r8.graph.DexString arraysDescriptor -> V1
+    com.android.tools.r8.graph.DexType illegalArgumentExceptionType -> S3
+    com.android.tools.r8.graph.DexType charType -> s2
+    com.android.tools.r8.graph.DexString byteArrayDescriptor -> I
+    java.util.Map methodHandles -> k
+    java.util.Map libraryMethodsWithoutSideEffects -> O5
+    com.android.tools.r8.graph.DexType nullValueType -> a
+    com.android.tools.r8.graph.DexType optionalIntType -> K3
+    com.android.tools.r8.graph.DexType androidSystemOsConstantsType -> l4
+    com.android.tools.r8.graph.DexType stringConcatFactoryType -> L5
+    com.android.tools.r8.graph.DexString kotlinMetadataDescriptor -> f2
+    com.android.tools.r8.graph.DexString serviceLoaderDescriptor -> E1
+    com.android.tools.r8.graph.DexString unboxCharMethodName -> e0
+    com.android.tools.r8.graph.DexType collectionType -> C3
+    com.android.tools.r8.graph.DexType javaUtilLocaleType -> d4
+    com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin setEpilogueBegin -> q
+    com.android.tools.r8.graph.DexString waitMethodName -> Z
+    com.android.tools.r8.graph.DexString callableDescriptor -> M1
+    com.android.tools.r8.graph.DexString enumValuesFieldName -> n2
+    com.android.tools.r8.graph.DexType externalizableType -> D5
+    com.android.tools.r8.graph.DexString concatMethodName -> m0
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap defaults -> n
+    com.android.tools.r8.graph.DexString getDeclaredFieldName -> U0
+    com.android.tools.r8.graph.DexString mathDescriptor -> v1
+    com.android.tools.r8.graph.DexType dalvikFastNativeAnnotation -> u5
+    com.android.tools.r8.graph.DexType charSequenceArrayType -> S2
+    com.android.tools.r8.graph.DexType proxyType -> t3
+    com.android.tools.r8.graph.DexString charArrayDescriptor -> J
+    com.android.tools.r8.kotlin.Kotlin kotlin -> M4
+    com.android.tools.r8.graph.DexType annotationMethodParameters -> m5
+    com.android.tools.r8.graph.DexType boxedDoubleType -> K2
+    com.android.tools.r8.graph.DexType stringBuilderType -> l3
+    com.android.tools.r8.graph.DexType annotationInnerClass -> k5
+    com.android.tools.r8.graph.DexType methodType -> j3
+    com.android.tools.r8.graph.DexString charSequenceArrayDescriptor -> e1
+    com.android.tools.r8.graph.DexType boxedByteType -> I2
+    com.android.tools.r8.graph.DexString toStringMethodName -> D0
+    com.android.tools.r8.graph.DexType collectionsType -> b3
+    com.android.tools.r8.graph.DexString nameMethodName -> L0
+    com.android.tools.r8.graph.DexString classArrayDescriptor -> m1
+    com.android.tools.r8.graph.DexType byteArrayType -> A2
+    com.android.tools.r8.graph.DexType booleanArrayType -> z2
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap endLocals -> o
+    com.android.tools.r8.graph.DexType javaUtilCollectionsType -> Z3
+    com.android.tools.r8.graph.DexString streamDescriptor -> U1
+    java.util.Set libraryClassesWithoutStaticInitialization -> R5
+    com.android.tools.r8.graph.DexString indexOfMethodName -> u0
+    java.util.Set possibleCompilerSynthesizedTypes -> e
+    com.android.tools.r8.graph.DexType byteType -> r2
+    com.android.tools.r8.graph.DexType throwableType -> R3
+    com.android.tools.r8.graph.DexType enumUnboxingUtilityType -> s4
+    com.android.tools.r8.graph.DexString doubleArrayDescriptor -> K
+    com.android.tools.r8.graph.DexType androidOsParcelableCreatorType -> k4
+    com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods illegalArgumentExceptionMethods -> J4
+    java.util.concurrent.ConcurrentHashMap classTypeInterfaces -> v
+    com.android.tools.r8.graph.DexString unboxByteMethodName -> d0
+    com.android.tools.r8.graph.DexString proxyDescriptor -> D1
+    com.android.tools.r8.graph.DexType optionalDoubleType -> J3
+    com.android.tools.r8.graph.DexString reflectiveOperationExceptionDescriptor -> e2
+    com.android.tools.r8.graph.DexType javaUtilListType -> c4
+    com.android.tools.r8.graph.DexString lengthMethodName -> l0
+    com.android.tools.r8.graph.DexType abstractMapSimpleEntryType -> B3
+    com.android.tools.r8.graph.DexString comparatorDescriptor -> L1
+    com.android.tools.r8.graph.DexString thisName -> m2
+    com.android.tools.r8.graph.DexType serializableType -> C5
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap restartLocals -> p
+    com.android.tools.r8.graph.DexType annotationType -> Z2
+    com.android.tools.r8.graph.DexString getFieldName -> T0
+    com.android.tools.r8.graph.DexString iterableDescriptor -> u1
+    com.android.tools.r8.graph.DexItemFactory$ObjectsMethods objectsMethods -> y4
+    com.android.tools.r8.graph.DexType charSequenceType -> R2
+    com.android.tools.r8.graph.DexType invocationHandlerType -> s3
+    com.android.tools.r8.graph.DexItemFactory$JavaUtilComparatorMembers javaUtilComparatorMembers -> Y4
+    com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd setPrologueEnd -> r
+    com.android.tools.r8.graph.DexType annotationReachabilitySensitive -> t5
+    com.android.tools.r8.graph.DexString floatArrayDescriptor -> L
+    com.android.tools.r8.graph.DexType boxedCharType -> J2
+    com.android.tools.r8.graph.DexType autoCloseableType -> k3
+    com.android.tools.r8.graph.DexType fieldType -> i3
+    com.android.tools.r8.graph.DexItemFactory$ConstructorMethods constructorMethods -> G4
+    java.util.List libraryMembersCollection -> c5
+    com.android.tools.r8.graph.DexMethod metafactoryMethod -> I5
+    com.android.tools.r8.graph.DexType boxedBooleanType -> H2
+    com.android.tools.r8.graph.DexType annotationEnclosingMethod -> j5
+    com.android.tools.r8.graph.DexString boxedIntDescriptor -> U
+    com.android.tools.r8.graph.DexString wrapperFieldName -> G0
+    com.android.tools.r8.graph.DexString objectDescriptor -> h1
+    com.android.tools.r8.graph.DexType objectsType -> a3
+    com.android.tools.r8.graph.DexString getNameName -> O0
+    com.android.tools.r8.graph.DexString methodDescriptor -> p1
+    com.android.tools.r8.graph.DexType javaNioByteOrderType -> Y3
+    com.android.tools.r8.graph.DexType voidType -> y2
+    com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods assertionErrorMethods -> E4
+    com.android.tools.r8.graph.DexString shortDescriptor -> E
+    com.android.tools.r8.graph.DexString compareToIgnoreCaseMethodName -> x0
+    com.android.tools.r8.graph.DexString illegalAccessErrorDescriptor -> X1
+    java.util.Set libraryMethodsReturningReceiver -> M5
+    com.android.tools.r8.graph.DexType runtimeExceptionType -> Q3
+    com.android.tools.r8.graph.DexType booleanType -> q2
+    java.util.Map types -> g
+    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexType androidOsBundleType -> j4
+    com.android.tools.r8.graph.DexType optionalType -> I3
+    com.android.tools.r8.graph.DexItemFactory$AndroidOsBundleMembers androidOsBundleMembers -> R4
+    com.android.tools.r8.graph.DexString longFieldUpdaterDescriptor -> h2
+    com.android.tools.r8.graph.DexString listDescriptor -> G1
+    com.android.tools.r8.graph.DexString boxedLongDescriptor -> V
+    com.android.tools.r8.graph.DexString unboxIntMethodName -> g0
+    com.android.tools.r8.graph.DexType javaUtilConcurrentTimeUnitType -> b4
+    com.android.tools.r8.graph.DexItemFactory$ThrowableMethods throwableMethods -> D4
+    com.android.tools.r8.graph.DexType enumerationType -> B5
+    com.android.tools.r8.graph.DexProto deserializeLambdaMethodProto -> g5
+    com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods serviceLoaderMethods -> G5
+    com.android.tools.r8.graph.DexType mapEntryType -> A3
+    com.android.tools.r8.graph.DexString consumerDescriptor -> O1
+    com.android.tools.r8.graph.DexString throwableArrayDescriptor -> p2
+    com.android.tools.r8.graph.DexString startsWithMethodName -> o0
+    com.android.tools.r8.graph.DexType enumType -> Y2
+    com.android.tools.r8.graph.DexType mapType -> z3
+    com.android.tools.r8.graph.DexString voidDescriptor -> F
+    com.android.tools.r8.graph.DexString getDeclaredMethodName -> W0
+    com.android.tools.r8.graph.DexString stringBuilderDescriptor -> x1
+    com.android.tools.r8.graph.DexType annotationCovariantReturnTypes -> s5
+    com.android.tools.r8.graph.DexType boxedVoidType -> Q2
+    com.android.tools.r8.graph.DexType methodTypeType -> r3
+    java.util.IdentityHashMap internalSentinels -> c
+    java.util.Map fields -> h
+    com.android.tools.r8.graph.DexType shortArrayType -> G2
+    com.android.tools.r8.graph.DexType annotationEnclosingClass -> i5
+    com.android.tools.r8.graph.DexType classLoaderType -> h3
+    com.android.tools.r8.graph.DexString stringArrayDescriptor -> g1
+    com.android.tools.r8.graph.DexString convertMethodName -> F0
+    com.android.tools.r8.graph.DexString boxedShortDescriptor -> W
+    com.android.tools.r8.graph.DexString booleanDescriptor -> x
+    com.android.tools.r8.graph.DexString forNameMethodName -> N0
+    com.android.tools.r8.graph.DexString fieldDescriptor -> o1
+    com.android.tools.r8.graph.DexType shortType -> x2
+    com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods polymorphicMethods -> N4
+    com.android.tools.r8.graph.DexType javaMathBigIntegerType -> X3
+    com.android.tools.r8.graph.DexString throwableDescriptor -> W1
+    com.android.tools.r8.graph.DexString descriptorSeparator -> G
+    com.android.tools.r8.graph.DexString compareToMethodName -> w0
+    java.util.Map protos -> i
+    com.android.tools.r8.graph.DexType intConsumer -> P3
+    com.android.tools.r8.graph.DexType nestConstructorType -> q4
+    com.android.tools.r8.graph.DexType runnableType -> H3
+    com.android.tools.r8.graph.DexType androidOsBuildVersionType -> i4
+    com.android.tools.r8.graph.DexString unboxShortMethodName -> f0
+    com.android.tools.r8.graph.DexString serviceLoaderConfigurationErrorDescriptor -> F1
+    com.android.tools.r8.graph.DexString intFieldUpdaterDescriptor -> g2
+    com.android.tools.r8.graph.DexString boxedNumberDescriptor -> X
+    com.android.tools.r8.graph.DexString byteDescriptor -> y
+    com.android.tools.r8.graph.DexType listIteratorType -> A5
+    com.android.tools.r8.graph.DexString nestConstructorDescriptor -> p4
+    com.android.tools.r8.graph.DexType javaUtilComparatorType -> a4
+    com.android.tools.r8.graph.DexString containsMethodName -> n0
+    com.android.tools.r8.graph.DexString supplierDescriptor -> N1
+    com.android.tools.r8.graph.DexString enabledFieldName -> o2
+    com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields primitiveTypesBoxedTypeFields -> K4
+    com.android.tools.r8.graph.DexType classArrayType -> X2
+    com.android.tools.r8.graph.DexType setType -> y3
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap advanceLines -> l
+    com.android.tools.r8.graph.DexType iteratorType -> z5
+    com.android.tools.r8.graph.DexString getMethodName -> V0
+    com.android.tools.r8.graph.DexString strictMathDescriptor -> w1
+    com.android.tools.r8.graph.DexString booleanArrayDescriptor -> H
+    com.android.tools.r8.graph.DexType boxedNumberType -> P2
+    com.android.tools.r8.graph.DexType methodHandleType -> q3
+    java.util.Map methods -> j
+    boolean skipNameValidationForTesting -> S5
+    com.android.tools.r8.graph.DexItemFactory$DoubleMethods doubleMethods -> C4
+    com.android.tools.r8.graph.DexType annotationCovariantReturnType -> r5
     1:44:void <clinit>():62:105 -> <clinit>
     1:1:void <init>():109:109 -> <init>
-    2:523:void <init>():67:588 -> <init>
-    524:572:void <init>():578:626 -> <init>
-    573:589:void <init>():616:632 -> <init>
-    590:611:void <init>():629:650 -> <init>
-    612:632:void <init>():641:661 -> <init>
-    633:673:void <init>():654:694 -> <init>
-    674:678:void <init>():693:697 -> <init>
-    679:682:void <init>():696:699 -> <init>
-    683:733:void <init>():685:735 -> <init>
-    734:736:void <init>():110:112 -> <init>
-    737:737:void <init>():111:111 -> <init>
+    2:528:void <init>():67:593 -> <init>
+    529:577:void <init>():583:631 -> <init>
+    578:594:void <init>():621:637 -> <init>
+    595:616:void <init>():634:655 -> <init>
+    617:637:void <init>():646:666 -> <init>
+    638:678:void <init>():659:699 -> <init>
+    679:683:void <init>():698:702 -> <init>
+    684:687:void <init>():701:704 -> <init>
+    688:738:void <init>():690:740 -> <init>
+    739:741:void <init>():110:112 -> <init>
+    742:742:void <init>():111:111 -> <init>
     com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame lambda$createSetInlineFrame$2(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame) -> a
     1:1:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):116:116 -> a
-    2:13:java.util.Set boxedValueOfMethods():601:612 -> a
-    14:16:com.android.tools.r8.graph.DexMethod lambda$boxedValueOfMethods$0(java.util.Map$Entry):604:606 -> a
-    17:17:com.android.tools.r8.utils.Pair lambda$mapToPredicate$1(java.util.function.Predicate,com.android.tools.r8.graph.DexMethod):704:704 -> a
-    18:18:java.util.stream.Stream mapToPredicate(java.util.Set,java.util.function.Predicate):704:704 -> a
-    19:19:void setSkipNameValidationForTesting(boolean):738:738 -> a
-    20:20:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):1733:1733 -> a
+    2:13:java.util.Set boxedValueOfMethods():606:617 -> a
+    14:16:com.android.tools.r8.graph.DexMethod lambda$boxedValueOfMethods$0(java.util.Map$Entry):609:611 -> a
+    17:17:com.android.tools.r8.utils.Pair lambda$mapToPredicate$1(java.util.function.Predicate,com.android.tools.r8.graph.DexMethod):709:709 -> a
+    18:18:java.util.stream.Stream mapToPredicate(java.util.Set,java.util.function.Predicate):709:709 -> a
+    19:19:void setSkipNameValidationForTesting(boolean):743:743 -> a
+    20:20:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):1741:1741 -> a
     21:21:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):116:116 -> a
-    21:21:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):1734 -> a
-    22:23:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):1734:1735 -> a
-    24:24:com.android.tools.r8.graph.DexString createString(int,byte[]):1741:1741 -> a
-    25:25:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):1789:1789 -> a
-    26:28:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):1793:1795 -> a
-    26:28:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):1789 -> a
-    29:33:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):1814:1818 -> a
-    34:35:com.android.tools.r8.graph.DexType createArrayType(int,com.android.tools.r8.graph.DexType):1844:1845 -> a
-    36:38:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):1849:1851 -> a
-    39:39:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String):1855:1855 -> a
-    40:41:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString):1860:1861 -> a
-    42:45:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):1865:1868 -> a
-    46:51:com.android.tools.r8.graph.DexString createShorty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):1934:1939 -> a
-    46:51:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):1869 -> a
-    52:52:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):1866:1866 -> a
-    53:53:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,java.util.List):1873:1873 -> a
-    54:56:com.android.tools.r8.graph.DexProto protoWithDifferentFirstParameter(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):1877:1879 -> a
-    57:60:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):1883:1886 -> a
-    61:63:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):1885:1887 -> a
-    64:68:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):1900:1904 -> a
-    69:78:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):1921:1930 -> a
-    69:78:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):1904 -> a
-    79:85:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):1905:1911 -> a
-    86:90:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):1910:1914 -> a
-    91:93:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):1943:1945 -> a
-    94:94:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.lang.String):1949:1949 -> a
-    95:96:com.android.tools.r8.graph.DexMethodHandle createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):1957:1958 -> a
-    97:98:com.android.tools.r8.graph.DexCallSite createCallSite(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):1967:1968 -> a
-    99:108:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString[]):1976:1985 -> a
-    109:111:com.android.tools.r8.graph.DexDebugEvent$AdvanceLine createAdvanceLine(int):1989:1991 -> a
-    112:114:com.android.tools.r8.graph.DexDebugEvent$SetFile createSetFile(com.android.tools.r8.graph.DexString):2027:2029 -> a
-    115:117:com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame createSetInlineFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):2034:2036 -> a
-    118:118:boolean isClassConstructor(com.android.tools.r8.graph.DexMethod):2044:2044 -> a
-    119:126:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement createReferenceTypeElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):2077:2084 -> a
-    127:155:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement createReferenceTypeElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):2083:2111 -> a
-    156:164:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2091:2099 -> a
-    165:176:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2098:2109 -> a
-    177:177:java.util.Set getOrComputeLeastUpperBoundOfImplementedInterfaces(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):2116:2116 -> a
-    178:179:java.util.Set lambda$getOrComputeLeastUpperBoundOfImplementedInterfaces$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):2119:2120 -> a
-    180:180:void forAllTypes(java.util.function.Consumer):2125:2125 -> a
-    1:2:com.android.tools.r8.graph.DexType getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType):591:592 -> b
-    3:4:com.android.tools.r8.graph.DexString createString(java.lang.String):1745:1746 -> b
-    5:5:com.android.tools.r8.graph.DexString lookupString(int,byte[]):1750:1750 -> b
-    6:8:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):1793:1795 -> b
-    9:9:void forEachPossiblyCompilerSynthesizedType(java.util.function.Consumer):1827:1827 -> b
-    10:12:com.android.tools.r8.graph.DexDebugEvent$AdvancePC createAdvancePC(int):1995:1997 -> b
-    13:13:boolean isConstructor(com.android.tools.r8.graph.DexMethod):2040:2040 -> b
-    14:16:void clearTypeElementsCache():2048:2050 -> b
-    1:1:boolean isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):746:746 -> c
-    2:3:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):1802:1803 -> c
-    4:4:boolean isPossiblyCompilerSynthesizedType(com.android.tools.r8.graph.DexType):1823:1823 -> c
-    5:5:com.android.tools.r8.graph.DexType createType(com.android.tools.r8.graph.DexString):1832:1832 -> c
-    6:8:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int):2001:2003 -> c
-    9:9:com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin createSetEpilogueBegin():2019:2019 -> c
-    1:9:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):1773:1781 -> d
-    10:10:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):1778:1778 -> d
+    21:21:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):1742 -> a
+    22:23:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):1742:1743 -> a
+    24:24:com.android.tools.r8.graph.DexString createString(int,byte[]):1749:1749 -> a
+    25:25:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):1797:1797 -> a
+    26:28:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):1801:1803 -> a
+    26:28:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):1797 -> a
+    29:33:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):1822:1826 -> a
+    34:35:com.android.tools.r8.graph.DexType createArrayType(int,com.android.tools.r8.graph.DexType):1852:1853 -> a
+    36:38:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):1857:1859 -> a
+    39:39:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String):1863:1863 -> a
+    40:41:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString):1868:1869 -> a
+    42:45:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):1873:1876 -> a
+    46:51:com.android.tools.r8.graph.DexString createShorty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):1942:1947 -> a
+    46:51:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):1877 -> a
+    52:52:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):1874:1874 -> a
+    53:53:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,java.util.List):1881:1881 -> a
+    54:56:com.android.tools.r8.graph.DexProto protoWithDifferentFirstParameter(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):1885:1887 -> a
+    57:60:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):1891:1894 -> a
+    61:63:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):1893:1895 -> a
+    64:68:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):1908:1912 -> a
+    69:78:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):1929:1938 -> a
+    69:78:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):1912 -> a
+    79:85:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):1913:1919 -> a
+    86:90:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):1918:1922 -> a
+    91:93:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):1951:1953 -> a
+    94:94:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.lang.String):1957:1957 -> a
+    95:96:com.android.tools.r8.graph.DexMethodHandle createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):1965:1966 -> a
+    97:98:com.android.tools.r8.graph.DexCallSite createCallSite(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):1975:1976 -> a
+    99:108:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString[]):1984:1993 -> a
+    109:111:com.android.tools.r8.graph.DexDebugEvent$AdvanceLine createAdvanceLine(int):1997:1999 -> a
+    112:114:com.android.tools.r8.graph.DexDebugEvent$SetFile createSetFile(com.android.tools.r8.graph.DexString):2035:2037 -> a
+    115:117:com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame createSetInlineFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):2042:2044 -> a
+    118:118:boolean isClassConstructor(com.android.tools.r8.graph.DexMethod):2052:2052 -> a
+    119:126:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement createReferenceTypeElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):2085:2092 -> a
+    127:155:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement createReferenceTypeElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):2091:2119 -> a
+    156:164:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2099:2107 -> a
+    165:176:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2106:2117 -> a
+    177:177:java.util.Set getOrComputeLeastUpperBoundOfImplementedInterfaces(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):2124:2124 -> a
+    178:179:java.util.Set lambda$getOrComputeLeastUpperBoundOfImplementedInterfaces$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):2127:2128 -> a
+    180:180:void forAllTypes(java.util.function.Consumer):2133:2133 -> a
+    1:2:com.android.tools.r8.graph.DexType getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType):596:597 -> b
+    3:4:com.android.tools.r8.graph.DexString createString(java.lang.String):1753:1754 -> b
+    5:5:com.android.tools.r8.graph.DexString lookupString(int,byte[]):1758:1758 -> b
+    6:8:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):1801:1803 -> b
+    9:9:void forEachPossiblyCompilerSynthesizedType(java.util.function.Consumer):1835:1835 -> b
+    10:12:com.android.tools.r8.graph.DexDebugEvent$AdvancePC createAdvancePC(int):2003:2005 -> b
+    13:13:boolean isConstructor(com.android.tools.r8.graph.DexMethod):2048:2048 -> b
+    14:16:void clearTypeElementsCache():2056:2058 -> b
+    1:1:boolean isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):751:751 -> c
+    2:3:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):1810:1811 -> c
+    4:4:boolean isPossiblyCompilerSynthesizedType(com.android.tools.r8.graph.DexType):1831:1831 -> c
+    5:5:com.android.tools.r8.graph.DexType createType(com.android.tools.r8.graph.DexString):1840:1840 -> c
+    6:8:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int):2009:2011 -> c
+    9:9:com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin createSetEpilogueBegin():2027:2027 -> c
+    1:9:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):1781:1789 -> d
+    10:10:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):1786:1786 -> d
     11:11:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):116:116 -> d
-    11:11:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):1782 -> d
-    12:13:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):1782:1783 -> d
-    14:14:void registerTypeNeededForDesugaring(com.android.tools.r8.graph.DexType):1810:1810 -> d
-    15:15:com.android.tools.r8.graph.DexType createType(java.lang.String):1836:1836 -> d
-    16:18:com.android.tools.r8.graph.DexDebugEvent$EndLocal createEndLocal(int):2007:2009 -> d
-    19:19:com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd createSetPrologueEnd():2023:2023 -> d
-    1:1:com.android.tools.r8.graph.DexString lookupString(java.lang.String):1754:1754 -> e
-    2:6:java.util.List extractMarkers():1761:1765 -> e
-    7:7:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexString):1840:1840 -> e
-    8:10:com.android.tools.r8.graph.DexDebugEvent$RestartLocal createRestartLocal(int):2013:2015 -> e
-    1:1:boolean getSkipNameValidationForTesting():742:742 -> f
-    1:3:boolean verifyNoCachedTypeElements():2054:2056 -> g
+    11:11:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):1790 -> d
+    12:13:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):1790:1791 -> d
+    14:14:void registerTypeNeededForDesugaring(com.android.tools.r8.graph.DexType):1818:1818 -> d
+    15:15:com.android.tools.r8.graph.DexType createType(java.lang.String):1844:1844 -> d
+    16:18:com.android.tools.r8.graph.DexDebugEvent$EndLocal createEndLocal(int):2015:2017 -> d
+    19:19:com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd createSetPrologueEnd():2031:2031 -> d
+    1:1:com.android.tools.r8.graph.DexString lookupString(java.lang.String):1762:1762 -> e
+    2:6:java.util.List extractMarkers():1769:1773 -> e
+    7:7:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexString):1848:1848 -> e
+    8:10:com.android.tools.r8.graph.DexDebugEvent$RestartLocal createRestartLocal(int):2021:2023 -> e
+    1:1:boolean getSkipNameValidationForTesting():747:747 -> f
+    1:3:boolean verifyNoCachedTypeElements():2062:2064 -> g
 com.android.tools.r8.graph.DexItemFactory$1 -> com.android.tools.r8.graph.Z$a:
 com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildMembers -> com.android.tools.r8.graph.Z$b:
     com.android.tools.r8.graph.DexField TYPE -> q
@@ -17929,8 +17924,8 @@
     com.android.tools.r8.graph.DexField BOOTLOADER -> a
     com.android.tools.r8.graph.DexField CPU_ABI2 -> d
     com.android.tools.r8.graph.DexField CPU_ABI -> c
-    1:23:void <init>(com.android.tools.r8.graph.DexItemFactory):775:797 -> <init>
-    1:17:void forEachFinalField(java.util.function.Consumer):801:817 -> a
+    1:23:void <init>(com.android.tools.r8.graph.DexItemFactory):780:802 -> <init>
+    1:17:void forEachFinalField(java.util.function.Consumer):806:822 -> a
 com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildVersionMembers -> com.android.tools.r8.graph.Z$c:
     com.android.tools.r8.graph.DexItemFactory this$0 -> f
     com.android.tools.r8.graph.DexField SECURITY_PATCH -> e
@@ -17938,20 +17933,20 @@
     com.android.tools.r8.graph.DexField CODENAME -> a
     com.android.tools.r8.graph.DexField SDK_INT -> d
     com.android.tools.r8.graph.DexField SDK -> c
-    1:8:void <init>(com.android.tools.r8.graph.DexItemFactory):821:828 -> <init>
-    1:5:void forEachFinalField(java.util.function.Consumer):832:836 -> a
+    1:8:void <init>(com.android.tools.r8.graph.DexItemFactory):826:833 -> <init>
+    1:5:void forEachFinalField(java.util.function.Consumer):837:841 -> a
 com.android.tools.r8.graph.DexItemFactory$AndroidOsBundleMembers -> com.android.tools.r8.graph.Z$d:
     com.android.tools.r8.graph.DexItemFactory this$0 -> c
     com.android.tools.r8.graph.DexField EMPTY -> b
     com.android.tools.r8.graph.DexField CREATOR -> a
-    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):840:844 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):848:849 -> a
+    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):845:849 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):853:854 -> a
 com.android.tools.r8.graph.DexItemFactory$AndroidSystemOsConstantsMembers -> com.android.tools.r8.graph.Z$e:
     com.android.tools.r8.graph.DexItemFactory this$0 -> c
     com.android.tools.r8.graph.DexField S_IXUSR -> b
     com.android.tools.r8.graph.DexField S_IRUSR -> a
-    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory):853:856 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):860:861 -> a
+    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory):858:861 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):865:866 -> a
 com.android.tools.r8.graph.DexItemFactory$AndroidViewViewMembers -> com.android.tools.r8.graph.Z$f:
     com.android.tools.r8.graph.DexItemFactory this$0 -> f
     com.android.tools.r8.graph.DexField SELECTED_STATE_SET -> e
@@ -17959,21 +17954,21 @@
     com.android.tools.r8.graph.DexField TRANSLATION_Z -> a
     com.android.tools.r8.graph.DexField PRESSED_ENABLED_STATE_SET -> d
     com.android.tools.r8.graph.DexField ENABLED_STATE_SET -> c
-    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):865:876 -> <init>
-    1:5:void forEachFinalField(java.util.function.Consumer):880:884 -> a
+    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):870:881 -> <init>
+    1:5:void forEachFinalField(java.util.function.Consumer):885:889 -> a
 com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods -> com.android.tools.r8.graph.Z$g:
     com.android.tools.r8.graph.DexMethod initMessageAndCause -> b
     com.android.tools.r8.graph.DexMethod initMessage -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1100:1100 -> <init>
-    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1104:1109 -> <init>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1105:1105 -> <init>
+    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1109:1114 -> <init>
 com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods -> com.android.tools.r8.graph.Z$h:
     java.util.Set updaters -> d
     com.android.tools.r8.graph.DexMethod referenceUpdater -> c
     com.android.tools.r8.graph.DexMethod longUpdater -> b
     com.android.tools.r8.graph.DexMethod intUpdater -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1396:1396 -> <init>
-    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1402:1421 -> <init>
-    1:1:boolean isFieldUpdater(com.android.tools.r8.graph.DexMethod):1425:1425 -> a
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1404:1404 -> <init>
+    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1410:1429 -> <init>
+    1:1:boolean isFieldUpdater(com.android.tools.r8.graph.DexMethod):1433:1433 -> a
 com.android.tools.r8.graph.DexItemFactory$BooleanMembers -> com.android.tools.r8.graph.Z$i:
     com.android.tools.r8.graph.DexItemFactory this$0 -> f
     com.android.tools.r8.graph.DexField TRUE -> b
@@ -17981,10 +17976,10 @@
     com.android.tools.r8.graph.DexMethod valueOf -> e
     com.android.tools.r8.graph.DexField TYPE -> c
     com.android.tools.r8.graph.DexMethod booleanValue -> d
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):754:754 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):765:765 -> <init>
-    3:10:void <init>(com.android.tools.r8.graph.DexItemFactory):756:763 -> <init>
-    1:3:void forEachFinalField(java.util.function.Consumer):769:771 -> a
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):759:759 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):770:770 -> <init>
+    3:10:void <init>(com.android.tools.r8.graph.DexItemFactory):761:768 -> <init>
+    1:3:void forEachFinalField(java.util.function.Consumer):774:776 -> a
 com.android.tools.r8.graph.DexItemFactory$ClassMethods -> com.android.tools.r8.graph.Z$j:
     com.android.tools.r8.graph.DexMethod newInstance -> m
     com.android.tools.r8.graph.DexMethod getDeclaredMethod -> l
@@ -18001,83 +17996,84 @@
     com.android.tools.r8.graph.DexMethod desiredAssertionStatus -> a
     java.util.Set getNames -> o
     java.util.Set getMembers -> n
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1177:1177 -> <init>
-    2:41:void <init>(com.android.tools.r8.graph.DexItemFactory):1195:1234 -> <init>
-    1:1:java.util.Set access$1900(com.android.tools.r8.graph.DexItemFactory$ClassMethods):1177:1177 -> a
-    2:2:boolean isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1238:1238 -> a
-    1:1:boolean isReflectiveMemberLookup(com.android.tools.r8.graph.DexMethod):1242:1242 -> b
-    1:1:boolean isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1246:1246 -> c
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1182:1182 -> <init>
+    2:41:void <init>(com.android.tools.r8.graph.DexItemFactory):1200:1239 -> <init>
+    1:1:java.util.Set access$1900(com.android.tools.r8.graph.DexItemFactory$ClassMethods):1182:1182 -> a
+    2:2:boolean isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1243:1243 -> a
+    1:1:boolean isReflectiveMemberLookup(com.android.tools.r8.graph.DexMethod):1247:1247 -> b
+    1:1:boolean isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1251:1251 -> c
 com.android.tools.r8.graph.DexItemFactory$ConstructorMethods -> com.android.tools.r8.graph.Z$k:
     com.android.tools.r8.graph.DexMethod newInstance -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1250:1250 -> <init>
-    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1254:1256 -> <init>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1255:1255 -> <init>
+    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1259:1261 -> <init>
 com.android.tools.r8.graph.DexItemFactory$DoubleMethods -> com.android.tools.r8.graph.Z$l:
     com.android.tools.r8.graph.DexMethod isNaN -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1053:1053 -> <init>
-    2:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1057:1061 -> <init>
-    7:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1059:1059 -> <init>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1058:1058 -> <init>
+    2:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1062:1066 -> <init>
+    7:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1064:1064 -> <init>
 com.android.tools.r8.graph.DexItemFactory$EnumMethods -> com.android.tools.r8.graph.Z$m:
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.graph.DexMethod finalize -> h
-    com.android.tools.r8.graph.DexItemFactory this$0 -> i
-    com.android.tools.r8.graph.DexMethod constructor -> g
-    com.android.tools.r8.graph.DexMethod equals -> f
-    com.android.tools.r8.graph.DexMethod compareTo -> e
-    com.android.tools.r8.graph.DexMethod toString -> d
-    com.android.tools.r8.graph.DexMethod name -> c
-    com.android.tools.r8.graph.DexMethod ordinal -> b
-    com.android.tools.r8.graph.DexMethod valueOf -> a
-    1:1:void <clinit>():1264:1264 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1264:1264 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1278:1278 -> <init>
-    3:37:void <init>(com.android.tools.r8.graph.DexItemFactory):1273:1307 -> <init>
-    1:4:boolean isValuesMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1315:1318 -> a
+    com.android.tools.r8.graph.DexMethod finalize -> j
+    com.android.tools.r8.graph.DexMethod constructor -> i
+    com.android.tools.r8.graph.DexMethod hashCode -> h
+    com.android.tools.r8.graph.DexMethod equals -> g
+    com.android.tools.r8.graph.DexMethod compareTo -> f
+    com.android.tools.r8.graph.DexItemFactory this$0 -> k
+    com.android.tools.r8.graph.DexMethod toString -> e
+    com.android.tools.r8.graph.DexMethod name -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexMethod ordinal -> c
+    com.android.tools.r8.graph.DexMethod valueOf -> b
+    1:1:void <clinit>():1269:1269 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1269:1269 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1284:1284 -> <init>
+    3:43:void <init>(com.android.tools.r8.graph.DexItemFactory):1279:1319 -> <init>
+    1:4:boolean isValuesMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1323:1326 -> a
 com.android.tools.r8.graph.DexItemFactory$FloatMembers -> com.android.tools.r8.graph.Z$n:
     com.android.tools.r8.graph.DexItemFactory this$0 -> b
     com.android.tools.r8.graph.DexField TYPE -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):888:888 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):892:892 -> <init>
-    3:3:void <init>(com.android.tools.r8.graph.DexItemFactory):890:890 -> <init>
-    1:1:void forEachFinalField(java.util.function.Consumer):896:896 -> a
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):893:893 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):897:897 -> <init>
+    3:3:void <init>(com.android.tools.r8.graph.DexItemFactory):895:895 -> <init>
+    1:1:void forEachFinalField(java.util.function.Consumer):901:901 -> a
 com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods -> com.android.tools.r8.graph.Z$o:
     com.android.tools.r8.graph.DexItemFactory this$0 -> b
     com.android.tools.r8.graph.DexMethod initWithMessage -> a
-    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1340:1344 -> <init>
-    6:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1343:1343 -> <init>
+    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1348:1352 -> <init>
+    6:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1351:1351 -> <init>
 com.android.tools.r8.graph.DexItemFactory$IntegerMembers -> com.android.tools.r8.graph.Z$p:
     com.android.tools.r8.graph.DexItemFactory this$0 -> b
     com.android.tools.r8.graph.DexField TYPE -> a
-    1:3:void <init>(com.android.tools.r8.graph.DexItemFactory):1067:1069 -> <init>
-    1:1:void forEachFinalField(java.util.function.Consumer):1073:1073 -> a
+    1:3:void <init>(com.android.tools.r8.graph.DexItemFactory):1072:1074 -> <init>
+    1:1:void forEachFinalField(java.util.function.Consumer):1078:1078 -> a
 com.android.tools.r8.graph.DexItemFactory$JavaIoFileMembers -> com.android.tools.r8.graph.Z$q:
     com.android.tools.r8.graph.DexItemFactory this$0 -> c
     com.android.tools.r8.graph.DexField separator -> b
     com.android.tools.r8.graph.DexField pathSeparator -> a
-    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory):900:903 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):907:908 -> a
+    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory):905:908 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):912:913 -> a
 com.android.tools.r8.graph.DexItemFactory$JavaMathBigIntegerMembers -> com.android.tools.r8.graph.Z$r:
     com.android.tools.r8.graph.DexItemFactory this$0 -> c
     com.android.tools.r8.graph.DexField ZERO -> b
     com.android.tools.r8.graph.DexField ONE -> a
-    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):912:916 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):920:921 -> a
+    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):917:921 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):925:926 -> a
 com.android.tools.r8.graph.DexItemFactory$JavaNioByteOrderMembers -> com.android.tools.r8.graph.Z$s:
     com.android.tools.r8.graph.DexItemFactory this$0 -> c
     com.android.tools.r8.graph.DexField BIG_ENDIAN -> b
     com.android.tools.r8.graph.DexField LITTLE_ENDIAN -> a
-    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):925:930 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):934:935 -> a
+    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):930:935 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):939:940 -> a
 com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods -> com.android.tools.r8.graph.Z$t:
     com.android.tools.r8.graph.DexMethod asList -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):939:939 -> <init>
-    2:6:void <init>(com.android.tools.r8.graph.DexItemFactory):943:947 -> <init>
-    7:7:void <init>(com.android.tools.r8.graph.DexItemFactory):945:945 -> <init>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):944:944 -> <init>
+    2:6:void <init>(com.android.tools.r8.graph.DexItemFactory):948:952 -> <init>
+    7:7:void <init>(com.android.tools.r8.graph.DexItemFactory):950:950 -> <init>
 com.android.tools.r8.graph.DexItemFactory$JavaUtilComparatorMembers -> com.android.tools.r8.graph.Z$u:
     com.android.tools.r8.graph.DexItemFactory this$0 -> c
     com.android.tools.r8.graph.DexField EMPTY_SET -> b
     com.android.tools.r8.graph.DexField EMPTY_LIST -> a
-    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):953:958 -> <init>
-    1:2:void forEachFinalField(java.util.function.Consumer):962:963 -> a
+    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):958:963 -> <init>
+    1:2:void forEachFinalField(java.util.function.Consumer):967:968 -> a
 com.android.tools.r8.graph.DexItemFactory$JavaUtilConcurrentTimeUnitMembers -> com.android.tools.r8.graph.Z$v:
     com.android.tools.r8.graph.DexField NANOSECONDS -> f
     com.android.tools.r8.graph.DexField MINUTES -> e
@@ -18087,15 +18083,15 @@
     com.android.tools.r8.graph.DexField DAYS -> a
     com.android.tools.r8.graph.DexField MILLISECONDS -> d
     com.android.tools.r8.graph.DexField MICROSECONDS -> c
-    1:16:void <init>(com.android.tools.r8.graph.DexItemFactory):967:982 -> <init>
-    1:7:void forEachFinalField(java.util.function.Consumer):986:992 -> a
+    1:16:void <init>(com.android.tools.r8.graph.DexItemFactory):972:987 -> <init>
+    1:7:void forEachFinalField(java.util.function.Consumer):991:997 -> a
 com.android.tools.r8.graph.DexItemFactory$JavaUtilLocaleMembers -> com.android.tools.r8.graph.Z$w:
     com.android.tools.r8.graph.DexItemFactory this$0 -> d
     com.android.tools.r8.graph.DexField ROOT -> b
     com.android.tools.r8.graph.DexField ENGLISH -> a
     com.android.tools.r8.graph.DexField US -> c
-    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):996:1000 -> <init>
-    1:3:void forEachFinalField(java.util.function.Consumer):1004:1006 -> a
+    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1001:1005 -> <init>
+    1:3:void forEachFinalField(java.util.function.Consumer):1009:1011 -> a
 com.android.tools.r8.graph.DexItemFactory$JavaUtilLoggingLevelMembers -> com.android.tools.r8.graph.Z$x:
     com.android.tools.r8.graph.DexField WARNING -> f
     com.android.tools.r8.graph.DexField SEVERE -> e
@@ -18104,23 +18100,23 @@
     com.android.tools.r8.graph.DexField CONFIG -> a
     com.android.tools.r8.graph.DexField FINEST -> d
     com.android.tools.r8.graph.DexField FINER -> c
-    1:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1010:1023 -> <init>
-    1:6:void forEachFinalField(java.util.function.Consumer):1027:1032 -> a
+    1:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1015:1028 -> <init>
+    1:6:void forEachFinalField(java.util.function.Consumer):1032:1037 -> a
 com.android.tools.r8.graph.DexItemFactory$LibraryMembers -> com.android.tools.r8.graph.Z$y:
     void forEachFinalField(java.util.function.Consumer) -> a
 com.android.tools.r8.graph.DexItemFactory$LongMembers -> com.android.tools.r8.graph.Z$z:
     com.android.tools.r8.graph.DexItemFactory this$0 -> b
     com.android.tools.r8.graph.DexField TYPE -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1036:1036 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1042:1042 -> <init>
-    3:9:void <init>(com.android.tools.r8.graph.DexItemFactory):1038:1044 -> <init>
-    10:10:void <init>(com.android.tools.r8.graph.DexItemFactory):1043:1043 -> <init>
-    1:1:void forEachFinalField(java.util.function.Consumer):1049:1049 -> a
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1041:1041 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1047:1047 -> <init>
+    3:9:void <init>(com.android.tools.r8.graph.DexItemFactory):1043:1049 -> <init>
+    10:10:void <init>(com.android.tools.r8.graph.DexItemFactory):1048:1048 -> <init>
+    1:1:void forEachFinalField(java.util.function.Consumer):1054:1054 -> a
 com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods -> com.android.tools.r8.graph.Z$A:
     com.android.tools.r8.graph.DexItemFactory this$0 -> c
     com.android.tools.r8.graph.DexMethod initWithMessage -> b
     com.android.tools.r8.graph.DexMethod init -> a
-    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1332:1337 -> <init>
+    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1340:1345 -> <init>
 com.android.tools.r8.graph.DexItemFactory$ObjectMembers -> com.android.tools.r8.graph.Z$B:
     com.android.tools.r8.graph.DexItemFactory this$0 -> g
     com.android.tools.r8.graph.DexField clinitField -> a
@@ -18129,18 +18125,18 @@
     com.android.tools.r8.graph.DexMethod constructor -> d
     com.android.tools.r8.graph.DexMethod getClass -> c
     com.android.tools.r8.graph.DexMethod clone -> b
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1114:1114 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1129:1129 -> <init>
-    3:20:void <init>(com.android.tools.r8.graph.DexItemFactory):1121:1138 -> <init>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1119:1119 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1134:1134 -> <init>
+    3:20:void <init>(com.android.tools.r8.graph.DexItemFactory):1126:1143 -> <init>
 com.android.tools.r8.graph.DexItemFactory$ObjectsMethods -> com.android.tools.r8.graph.Z$C:
     com.android.tools.r8.graph.DexMethod requireNonNullWithMessageSupplier -> c
     com.android.tools.r8.graph.DexMethod requireNonNullWithMessage -> b
     com.android.tools.r8.graph.DexMethod requireNonNull -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1143:1143 -> <init>
-    2:9:void <init>(com.android.tools.r8.graph.DexItemFactory):1149:1156 -> <init>
-    10:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1154:1161 -> <init>
-    18:18:void <init>(com.android.tools.r8.graph.DexItemFactory):1159:1159 -> <init>
-    1:1:boolean isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1166:1166 -> a
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1148:1148 -> <init>
+    2:9:void <init>(com.android.tools.r8.graph.DexItemFactory):1154:1161 -> <init>
+    10:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1159:1166 -> <init>
+    18:18:void <init>(com.android.tools.r8.graph.DexItemFactory):1164:1164 -> <init>
+    1:1:boolean isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1171:1171 -> a
 com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods -> com.android.tools.r8.graph.Z$D:
     com.android.tools.r8.graph.DexProto compareAndSetSignature -> c
     java.util.Set varHandleMethods -> d
@@ -18149,9 +18145,9 @@
     java.util.Set varHandleCompareAndSetMethods -> f
     com.android.tools.r8.graph.DexProto signature -> a
     com.android.tools.r8.graph.DexProto setSignature -> b
-    1:36:void <init>(com.android.tools.r8.graph.DexItemFactory):1621:1656 -> <init>
-    1:11:com.android.tools.r8.graph.DexMethod canonicalize(com.android.tools.r8.graph.DexMethod):1664:1674 -> a
-    12:17:java.util.Set createStrings(java.lang.String[]):1681:1686 -> a
+    1:36:void <init>(com.android.tools.r8.graph.DexItemFactory):1629:1664 -> <init>
+    1:11:com.android.tools.r8.graph.DexMethod canonicalize(com.android.tools.r8.graph.DexMethod):1672:1682 -> a
+    12:17:java.util.Set createStrings(java.lang.String[]):1689:1694 -> a
 com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields -> com.android.tools.r8.graph.Z$E:
     com.android.tools.r8.graph.DexField floatTYPE -> f
     com.android.tools.r8.graph.DexField longTYPE -> e
@@ -18161,53 +18157,53 @@
     com.android.tools.r8.graph.DexField intTYPE -> d
     com.android.tools.r8.graph.DexField shortTYPE -> c
     java.util.Map boxedFieldTypeToPrimitiveType -> h
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1353:1353 -> <init>
-    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1365:1384 -> <init>
-    1:1:com.android.tools.r8.graph.DexType boxedFieldTypeToPrimitiveType(com.android.tools.r8.graph.DexField):1388:1388 -> a
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1361:1361 -> <init>
+    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1373:1392 -> <init>
+    1:1:com.android.tools.r8.graph.DexType boxedFieldTypeToPrimitiveType(com.android.tools.r8.graph.DexField):1396:1396 -> a
 com.android.tools.r8.graph.DexItemFactory$ProxyMethods -> com.android.tools.r8.graph.Z$F:
     com.android.tools.r8.graph.DexMethod newProxyInstance -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1690:1690 -> <init>
-    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1694:1699 -> <init>
-    8:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1696:1696 -> <init>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1698:1698 -> <init>
+    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1702:1707 -> <init>
+    8:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1704:1704 -> <init>
 com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods -> com.android.tools.r8.graph.Z$G:
     com.android.tools.r8.graph.DexMethod iterator -> d
     com.android.tools.r8.graph.DexMethod loadInstalled -> c
     com.android.tools.r8.graph.DexMethod loadWithClassLoader -> b
     com.android.tools.r8.graph.DexMethod load -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1703:1703 -> <init>
-    2:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1710:1716 -> <init>
-    9:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1714:1722 -> <init>
-    18:23:void <init>(com.android.tools.r8.graph.DexItemFactory):1719:1724 -> <init>
-    1:1:boolean isLoadMethod(com.android.tools.r8.graph.DexMethod):1728:1728 -> a
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1711:1711 -> <init>
+    2:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1718:1724 -> <init>
+    9:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1722:1730 -> <init>
+    18:23:void <init>(com.android.tools.r8.graph.DexItemFactory):1727:1732 -> <init>
+    1:1:boolean isLoadMethod(com.android.tools.r8.graph.DexMethod):1736:1736 -> a
 com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods -> com.android.tools.r8.graph.Z$H:
-    com.android.tools.r8.graph.DexMethod defaultConstructor -> o
-    com.android.tools.r8.graph.DexMethod charSequenceConstructor -> n
-    com.android.tools.r8.graph.DexMethod appendStringBuffer -> m
-    com.android.tools.r8.graph.DexMethod appendString -> l
-    com.android.tools.r8.graph.DexMethod appendObject -> k
-    java.util.Set appendMethods -> s
-    com.android.tools.r8.graph.DexMethod appendLong -> j
-    java.util.Set constructorMethods -> t
-    com.android.tools.r8.graph.DexMethod appendFloat -> i
-    com.android.tools.r8.graph.DexMethod appendDouble -> h
-    boolean $assertionsDisabled -> u
-    com.android.tools.r8.graph.DexMethod appendInt -> g
-    com.android.tools.r8.graph.DexMethod appendSubCharSequence -> f
-    com.android.tools.r8.graph.DexMethod appendCharSequence -> e
-    com.android.tools.r8.graph.DexMethod appendSubCharArray -> d
-    com.android.tools.r8.graph.DexMethod appendCharArray -> c
-    com.android.tools.r8.graph.DexMethod appendChar -> b
-    com.android.tools.r8.graph.DexMethod appendBoolean -> a
-    com.android.tools.r8.graph.DexMethod toString -> r
-    com.android.tools.r8.graph.DexMethod stringConstructor -> q
-    com.android.tools.r8.graph.DexMethod intConstructor -> p
-    1:1:void <clinit>():1513:1513 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory$1):1513:1513 -> <init>
-    2:46:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):1537:1581 -> <init>
-    1:1:java.util.Set access$1800(com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods):1513:1513 -> a
-    2:2:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):1586:1586 -> a
-    3:29:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.ir.code.InvokeMethod):1590:1616 -> a
-    1:1:java.util.Set access$2000(com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods):1513:1513 -> b
+    com.android.tools.r8.graph.DexMethod charSequenceConstructor -> o
+    com.android.tools.r8.graph.DexMethod appendStringBuffer -> n
+    com.android.tools.r8.graph.DexMethod appendString -> m
+    com.android.tools.r8.graph.DexMethod appendObject -> l
+    com.android.tools.r8.graph.DexMethod appendLong -> k
+    com.android.tools.r8.graph.DexMethod appendFloat -> j
+    java.util.Set appendMethods -> t
+    com.android.tools.r8.graph.DexMethod appendDouble -> i
+    java.util.Set constructorMethods -> u
+    com.android.tools.r8.graph.DexMethod appendInt -> h
+    com.android.tools.r8.graph.DexMethod appendSubCharSequence -> g
+    com.android.tools.r8.graph.DexMethod appendCharSequence -> f
+    com.android.tools.r8.graph.DexMethod appendSubCharArray -> e
+    com.android.tools.r8.graph.DexMethod appendCharArray -> d
+    com.android.tools.r8.graph.DexMethod appendChar -> c
+    com.android.tools.r8.graph.DexMethod appendBoolean -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexMethod toString -> s
+    com.android.tools.r8.graph.DexMethod stringConstructor -> r
+    com.android.tools.r8.graph.DexMethod intConstructor -> q
+    com.android.tools.r8.graph.DexMethod defaultConstructor -> p
+    1:1:void <clinit>():1521:1521 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory$1):1521:1521 -> <init>
+    2:46:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):1545:1589 -> <init>
+    1:1:java.util.Set access$1800(com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods):1521:1521 -> a
+    2:2:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):1594:1594 -> a
+    3:29:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.ir.code.InvokeMethod):1598:1624 -> a
+    1:1:java.util.Set access$2000(com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods):1521:1521 -> b
 com.android.tools.r8.graph.DexItemFactory$StringMembers -> com.android.tools.r8.graph.Z$I:
     com.android.tools.r8.graph.DexMethod compareTo -> o
     com.android.tools.r8.graph.DexMethod lastIndexOfString -> n
@@ -18231,27 +18227,27 @@
     com.android.tools.r8.graph.DexMethod valueOf -> r
     com.android.tools.r8.graph.DexMethod hashCode -> q
     com.android.tools.r8.graph.DexMethod compareToIgnoreCase -> p
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1429:1429 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1459:1459 -> <init>
-    3:75:void <init>(com.android.tools.r8.graph.DexItemFactory):1431:1503 -> <init>
-    1:1:void forEachFinalField(java.util.function.Consumer):1509:1509 -> a
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1437:1437 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1467:1467 -> <init>
+    3:75:void <init>(com.android.tools.r8.graph.DexItemFactory):1439:1511 -> <init>
+    1:1:void forEachFinalField(java.util.function.Consumer):1517:1517 -> a
 com.android.tools.r8.graph.DexItemFactory$ThrowableMethods -> com.android.tools.r8.graph.Z$J:
     com.android.tools.r8.graph.DexMethod initCause -> d
     com.android.tools.r8.graph.DexMethod getSuppressed -> c
     com.android.tools.r8.graph.DexMethod getMessage -> b
     com.android.tools.r8.graph.DexMethod addSuppressed -> a
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1077:1077 -> <init>
-    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1084:1086 -> <init>
-    5:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1085:1088 -> <init>
-    9:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1087:1094 -> <init>
-    17:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1092:1092 -> <init>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1082:1082 -> <init>
+    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1089:1091 -> <init>
+    5:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1090:1093 -> <init>
+    9:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1092:1099 -> <init>
+    17:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1097:1097 -> <init>
 com.android.tools.r8.graph.DexLibraryClass -> com.android.tools.r8.graph.a0:
     boolean $assertionsDisabled -> r
     1:1:void <clinit>():17:17 -> <clinit>
     1:27:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean):37:63 -> <init>
-    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():118:118 -> C
-    boolean isLibraryClass() -> T
-    boolean isNotProgramClass() -> Y
+    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():118:118 -> D
+    boolean isLibraryClass() -> U
+    boolean isNotProgramClass() -> Z
     1:3:boolean verifyLibraryMethod(com.android.tools.r8.graph.DexEncodedMethod):67:69 -> a
     4:4:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):98:98 -> a
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):82:82 -> collectIndexedItems
@@ -18262,14 +18258,15 @@
     4:4:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> d
     4:4:boolean verifyLibraryField(com.android.tools.r8.graph.DexEncodedField):75 -> d
     5:5:boolean verifyLibraryField(com.android.tools.r8.graph.DexEncodedField):75:75 -> d
-    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> r
+    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> s
     1:1:java.lang.String toSourceString():92:92 -> toSourceString
     1:1:java.lang.String toString():87:87 -> toString
 com.android.tools.r8.graph.DexMember -> com.android.tools.r8.graph.b0:
-    com.android.tools.r8.graph.DexType holder -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexType holder -> c
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():6:6 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexType):11:13 -> <init>
+    1:1:com.android.tools.r8.graph.DexEncodedMember lookupOnClass(com.android.tools.r8.graph.DexClass):17:17 -> a
     com.android.tools.r8.graph.DexMember asDexMember() -> b
     boolean isDexMember() -> f
 com.android.tools.r8.graph.DexMemberAnnotation -> com.android.tools.r8.graph.c0:
@@ -18289,45 +18286,50 @@
 com.android.tools.r8.graph.DexMethod -> com.android.tools.r8.graph.d0:
     com.android.tools.r8.graph.DexProto proto -> d
     com.android.tools.r8.graph.DexString name -> e
-    1:6:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):21:26 -> <init>
-    1:1:int slowCompareTo(java.lang.Object):15:15 -> a
-    2:2:int slowCompareTo(java.lang.Object,com.android.tools.r8.naming.NamingLens):15:15 -> a
-    3:4:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):67:68 -> a
-    5:157:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:152 -> a
-    5:157:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):68 -> a
-    158:403:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> a
-    158:403:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> a
-    158:403:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):68 -> a
-    404:404:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):69:69 -> a
-    405:405:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):82:82 -> a
-    406:414:int slowCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.NamingLens):136:144 -> a
-    415:415:boolean match(com.android.tools.r8.graph.DexMethod):149:149 -> a
-    416:427:java.lang.String toSourceString(boolean):176:187 -> a
-    1:9:int slowCompareTo(com.android.tools.r8.graph.DexMethod):123:131 -> b
+    1:6:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):24:29 -> <init>
+    1:1:int slowCompareTo(java.lang.Object):18:18 -> a
+    2:2:int slowCompareTo(java.lang.Object,com.android.tools.r8.naming.NamingLens):18:18 -> a
+    3:3:java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function):39:39 -> a
+    4:4:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):47:47 -> a
+    5:5:void accept(java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,java.lang.Object):56:56 -> a
+    6:6:com.android.tools.r8.graph.DexEncodedMethod lookupOnClass(com.android.tools.r8.graph.DexClass):61:61 -> a
+    6:6:com.android.tools.r8.graph.DexEncodedMember lookupOnClass(com.android.tools.r8.graph.DexClass):18 -> a
+    7:8:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):100:101 -> a
+    9:187:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:178 -> a
+    9:187:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):101 -> a
+    188:433:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> a
+    188:433:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> a
+    188:433:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):101 -> a
+    434:434:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):102:102 -> a
+    435:435:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):115:115 -> a
+    436:444:int slowCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.NamingLens):169:177 -> a
+    445:445:boolean match(com.android.tools.r8.graph.DexMethod):182:182 -> a
+    446:457:java.lang.String toSourceString(boolean):209:220 -> a
+    1:9:int slowCompareTo(com.android.tools.r8.graph.DexMethod):156:164 -> b
     com.android.tools.r8.graph.DexMethod asDexMethod() -> c
-    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):60:60 -> collectIndexedItems
-    2:2:void collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):77:77 -> collectIndexedItems
-    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):61 -> collectIndexedItems
+    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):93:93 -> collectIndexedItems
+    2:2:void collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):110:110 -> collectIndexedItems
+    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):94 -> collectIndexedItems
     3:248:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    3:248:void collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):77 -> collectIndexedItems
-    3:248:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):61 -> collectIndexedItems
-    1:5:boolean computeEquals(java.lang.Object):104:108 -> computeEquals
-    1:3:int computeHashCode():97:99 -> computeHashCode
+    3:248:void collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):110 -> collectIndexedItems
+    3:248:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):94 -> collectIndexedItems
+    1:5:boolean computeEquals(java.lang.Object):137:141 -> computeEquals
+    1:3:int computeHashCode():130:132 -> computeHashCode
     boolean isDexMethod() -> g
-    1:12:com.android.tools.r8.references.MethodReference asMethodReference():37:48 -> i
-    13:13:com.android.tools.r8.references.MethodReference asMethodReference():46:46 -> i
-    1:1:int getArity():54:54 -> j
-    1:1:java.lang.String qualifiedName():158:158 -> k
-    1:1:java.lang.String toSourceStringWithoutHolder():172:172 -> l
-    1:1:java.lang.String toSmaliString():163:163 -> toSmaliString
-    1:1:java.lang.String toSourceString():168:168 -> toSourceString
-    1:1:java.lang.String toString():33:33 -> toString
+    1:12:com.android.tools.r8.references.MethodReference asMethodReference():70:81 -> i
+    13:13:com.android.tools.r8.references.MethodReference asMethodReference():79:79 -> i
+    1:1:int getArity():87:87 -> j
+    1:1:java.lang.String qualifiedName():191:191 -> k
+    1:1:java.lang.String toSourceStringWithoutHolder():205:205 -> l
+    1:1:java.lang.String toSmaliString():196:196 -> toSmaliString
+    1:1:java.lang.String toSourceString():201:201 -> toSourceString
+    1:1:java.lang.String toString():66:66 -> toString
 com.android.tools.r8.graph.DexMethodHandle -> com.android.tools.r8.graph.e0:
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType type -> b
-    com.android.tools.r8.graph.DexMember fieldOrMethod -> c
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.DexMethod rewrittenTarget -> e
-    boolean isInterface -> d
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType type -> c
+    boolean isInterface -> e
+    com.android.tools.r8.graph.DexMember fieldOrMethod -> d
+    com.android.tools.r8.graph.DexMethod rewrittenTarget -> f
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():15:15 -> <clinit>
     1:5:void <init>(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):208:212 -> <init>
     6:10:void <init>(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean,com.android.tools.r8.graph.DexMethod):219:223 -> <init>
@@ -18408,30 +18410,30 @@
     130:260:boolean isStaticHandle():301 -> c
     261:261:boolean isStaticHandle():301:301 -> c
     1:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):266:273 -> collectIndexedItems
-    9:86:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:77 -> collectIndexedItems
-    9:86:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):273 -> collectIndexedItems
-    87:332:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    87:332:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):77 -> collectIndexedItems
-    87:332:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):273 -> collectIndexedItems
-    333:333:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):276:276 -> collectIndexedItems
+    9:119:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:110 -> collectIndexedItems
+    9:119:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):273 -> collectIndexedItems
+    120:365:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    120:365:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):110 -> collectIndexedItems
+    120:365:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):273 -> collectIndexedItems
+    366:366:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):276:276 -> collectIndexedItems
     1:6:boolean computeEquals(java.lang.Object):243:248 -> computeEquals
     1:1:int computeHashCode():238:238 -> computeHashCode
     1:1:java.lang.String toSmaliString():289:289 -> toSmaliString
     1:6:java.lang.String toString():255:260 -> toString
 com.android.tools.r8.graph.DexMethodHandle$MethodHandleType -> com.android.tools.r8.graph.e0$a:
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_CONSTRUCTOR -> h
-    boolean $assertionsDisabled -> m
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_INSTANCE -> g
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType[] $VALUES -> l
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_STATIC -> f
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INSTANCE_GET -> e
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INSTANCE_PUT -> d
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType STATIC_GET -> c
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType STATIC_PUT -> b
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_SUPER -> k
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_INTERFACE -> j
-    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_DIRECT -> i
-    short value -> a
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_DIRECT -> h
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType[] $VALUES -> k
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_CONSTRUCTOR -> g
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_INSTANCE -> f
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_STATIC -> e
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INSTANCE_GET -> d
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INSTANCE_PUT -> c
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType STATIC_GET -> b
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType STATIC_PUT -> a
+    boolean $assertionsDisabled -> l
+    short value -> m
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_SUPER -> j
+    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_INTERFACE -> i
     1:13:void <clinit>():18:18 -> <clinit>
     1:2:void <init>(java.lang.String,int,short):33:34 -> <init>
     1:1:short getValue():38:38 -> a
@@ -18475,151 +18477,153 @@
     22:22:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():169:169 -> i
     1:1:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType[] values():18:18 -> j
 com.android.tools.r8.graph.DexProgramClass -> com.android.tools.r8.graph.f0:
-    java.util.Collection synthesizedFrom -> s
-    com.android.tools.r8.graph.DexProgramClass[] EMPTY_ARRAY -> w
-    com.android.tools.r8.kotlin.KotlinClassLevelInfo kotlinInfo -> u
-    com.android.tools.r8.ProgramResource$Kind originKind -> r
-    int initialClassFileVersion -> t
-    boolean $assertionsDisabled -> x
-    com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier checksumSupplier -> v
+    java.util.Collection synthesizedFrom -> u
+    com.android.tools.r8.kotlin.KotlinClassLevelInfo kotlinInfo -> w
+    int initialClassFileVersion -> v
+    com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier checksumSupplier -> x
+    com.android.tools.r8.graph.DexProgramClass[] EMPTY_ARRAY -> r
+    boolean $assertionsDisabled -> s
+    com.android.tools.r8.ProgramResource$Kind originKind -> t
     1:8:void <clinit>():31:38 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier):88:88 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier):69:69 -> <init>
     3:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,java.util.Collection):111:111 -> <init>
     4:92:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,java.util.Collection):45:133 -> <init>
-    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():347:347 -> C
-    boolean isNotProgramClass() -> Y
+    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():351:351 -> D
+    boolean isNotProgramClass() -> Z
     1:639:void com.android.tools.r8.graph.DexEncodedMethod.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):0:638 -> a
-    1:639:void lambda$addDependencies$6(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexEncodedMethod):286 -> a
-    640:640:void forEachProgramDirectMethodMatching(java.util.function.Predicate,java.util.function.Consumer):152:152 -> a
-    641:641:void lambda$forEachProgramDirectMethodMatching$1(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):153:153 -> a
-    642:642:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramMethods$3(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):202:202 -> a
-    643:643:com.android.tools.r8.utils.TraversalContinuation traverseProgramInstanceInitializers(java.util.function.Function):207:207 -> a
-    644:645:com.android.tools.r8.utils.TraversalContinuation traverseProgramMethods(java.util.function.Function,java.util.function.Predicate):212:213 -> a
-    646:648:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramMethods$4(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):215:217 -> a
-    649:649:void lambda$collectIndexedItems$5(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexEncodedMethod):254:254 -> a
-    650:655:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):281:286 -> a
-    656:656:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):88:88 -> a
-    656:656:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):286 -> a
-    657:661:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):287:291 -> a
-    662:713:void com.android.tools.r8.graph.DexTypeList.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):0:51 -> a
-    662:713:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):292 -> a
-    714:714:com.android.tools.r8.graph.DexProgramClass asProgramClassOrNull(com.android.tools.r8.graph.DexClass):337:337 -> a
-    715:717:void setKotlinInfo(com.android.tools.r8.kotlin.KotlinClassLevelInfo):351:353 -> a
-    718:721:void addSynthesizedFrom(com.android.tools.r8.graph.DexProgramClass):394:397 -> a
-    722:722:int lambda$computeStaticValuesArray$7(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):407:407 -> a
-    723:725:boolean hasNonDefaultStaticFieldValues():425:427 -> a
-    723:725:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):403 -> a
-    726:740:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):406:420 -> a
-    741:741:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):443:443 -> a
-    742:742:java.lang.Iterable asProgramClasses(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):486:486 -> a
-    1:1:void forEachProgramMethodMatching(java.util.function.Predicate,java.util.function.Consumer):142:142 -> b
-    2:2:void lambda$forEachProgramMethodMatching$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):143:143 -> b
-    3:3:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):175:175 -> b
-    4:4:com.android.tools.r8.utils.TraversalContinuation traverseProgramMethods(java.util.function.Function):202:202 -> b
-    5:5:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):435:435 -> b
-    6:7:void setInitialClassFileVersion(int):452:453 -> b
-    8:10:boolean hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):474:476 -> b
-    11:11:java.util.Iterator lambda$asProgramClasses$8(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):487:487 -> b
-    12:12:long checksumFromType(com.android.tools.r8.graph.DexProgramClass):524:524 -> b
-    1:1:void forEachProgramDirectMethod(java.util.function.Consumer):147:147 -> c
-    2:2:void forEachProgramVirtualMethodMatching(java.util.function.Predicate,java.util.function.Consumer):162:162 -> c
-    3:3:void lambda$forEachProgramVirtualMethodMatching$2(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):163:163 -> c
-    4:6:boolean hasAnnotations(com.android.tools.r8.graph.DexEncodedField[]):382:384 -> c
-    7:7:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):439:439 -> c
-    8:8:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):519:519 -> c
+    1:639:void lambda$addDependencies$7(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexEncodedMethod):290 -> a
+    640:640:void lambda$forEachProgramField$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):137:137 -> a
+    641:641:void forEachProgramDirectMethodMatching(java.util.function.Predicate,java.util.function.Consumer):156:156 -> a
+    642:642:void lambda$forEachProgramDirectMethodMatching$2(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):157:157 -> a
+    643:643:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramMethods$4(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):206:206 -> a
+    644:644:com.android.tools.r8.utils.TraversalContinuation traverseProgramInstanceInitializers(java.util.function.Function):211:211 -> a
+    645:646:com.android.tools.r8.utils.TraversalContinuation traverseProgramMethods(java.util.function.Function,java.util.function.Predicate):216:217 -> a
+    647:649:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramMethods$5(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):219:221 -> a
+    650:650:void lambda$collectIndexedItems$6(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexEncodedMethod):258:258 -> a
+    651:656:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):285:290 -> a
+    657:657:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):88:88 -> a
+    657:657:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):290 -> a
+    658:662:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):291:295 -> a
+    663:714:void com.android.tools.r8.graph.DexTypeList.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):0:51 -> a
+    663:714:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):296 -> a
+    715:715:com.android.tools.r8.graph.DexProgramClass asProgramClassOrNull(com.android.tools.r8.graph.DexClass):341:341 -> a
+    716:718:void setKotlinInfo(com.android.tools.r8.kotlin.KotlinClassLevelInfo):355:357 -> a
+    719:722:void addSynthesizedFrom(com.android.tools.r8.graph.DexProgramClass):398:401 -> a
+    723:723:int lambda$computeStaticValuesArray$8(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):411:411 -> a
+    724:726:boolean hasNonDefaultStaticFieldValues():429:431 -> a
+    724:726:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):407 -> a
+    727:741:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):410:424 -> a
+    742:742:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):447:447 -> a
+    743:743:java.lang.Iterable asProgramClasses(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):490:490 -> a
+    1:1:void forEachProgramMethodMatching(java.util.function.Predicate,java.util.function.Consumer):146:146 -> b
+    2:2:void lambda$forEachProgramMethodMatching$1(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):147:147 -> b
+    3:3:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):179:179 -> b
+    4:4:com.android.tools.r8.utils.TraversalContinuation traverseProgramMethods(java.util.function.Function):206:206 -> b
+    5:5:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):439:439 -> b
+    6:7:void setInitialClassFileVersion(int):456:457 -> b
+    8:10:boolean hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):478:480 -> b
+    11:11:java.util.Iterator lambda$asProgramClasses$9(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):491:491 -> b
+    12:12:long checksumFromType(com.android.tools.r8.graph.DexProgramClass):528:528 -> b
+    1:1:void forEachProgramDirectMethod(java.util.function.Consumer):151:151 -> c
+    2:2:void forEachProgramVirtualMethodMatching(java.util.function.Predicate,java.util.function.Consumer):166:166 -> c
+    3:3:void lambda$forEachProgramVirtualMethodMatching$3(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):167:167 -> c
+    4:6:boolean hasAnnotations(com.android.tools.r8.graph.DexEncodedField[]):386:388 -> c
+    7:7:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):443:443 -> c
+    8:8:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):523:523 -> c
     9:9:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> c
-    9:9:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):519 -> c
-    10:10:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):519:519 -> c
-    1:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):231:232 -> collectIndexedItems
-    3:155:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:152 -> collectIndexedItems
-    3:155:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):232 -> collectIndexedItems
-    156:401:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    156:401:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    156:401:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):232 -> collectIndexedItems
-    402:402:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):233:233 -> collectIndexedItems
-    403:405:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):150:152 -> collectIndexedItems
-    403:405:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):234 -> collectIndexedItems
-    406:651:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    406:651:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    406:651:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):234 -> collectIndexedItems
-    652:654:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):236:238 -> collectIndexedItems
-    655:655:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):245:245 -> collectIndexedItems
-    655:655:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):239 -> collectIndexedItems
-    656:656:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):241:241 -> collectIndexedItems
-    657:657:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):83:83 -> collectIndexedItems
-    657:657:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):241 -> collectIndexedItems
-    658:667:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):242:251 -> collectIndexedItems
-    668:670:void synchronizedCollectAll(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexItem[]):261:263 -> collectIndexedItems
-    668:670:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):251 -> collectIndexedItems
-    671:671:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):252:252 -> collectIndexedItems
-    672:674:void synchronizedCollectAll(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexItem[]):261:263 -> collectIndexedItems
-    672:674:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):252 -> collectIndexedItems
-    675:676:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):253:254 -> collectIndexedItems
-    677:677:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):88:88 -> collectIndexedItems
-    677:677:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):254 -> collectIndexedItems
-    678:678:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):255:255 -> collectIndexedItems
-    679:679:void synchronizedCollectAll(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexItem[]):263:263 -> collectIndexedItems
-    679:679:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):252 -> collectIndexedItems
-    680:680:void synchronizedCollectAll(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexItem[]):263:263 -> collectIndexedItems
-    680:680:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):251 -> collectIndexedItems
-    1:4:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):272:275 -> collectMixedSectionItems
-    1:1:void forEachProgramMethod(java.util.function.Consumer):137:137 -> d
-    2:2:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):195:195 -> d
-    3:3:boolean com.android.tools.r8.graph.DexClass.isFinal():469:469 -> d
-    3:3:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):312 -> d
-    4:10:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):315:321 -> d
-    1:1:void forEachProgramVirtualMethod(java.util.function.Consumer):157:157 -> e
-    2:2:com.android.tools.r8.graph.ProgramMethod lookupProgramMethod(com.android.tools.r8.graph.DexMethod):183:183 -> e
-    1:1:long getChecksum():528:528 -> e0
+    9:9:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):523 -> c
+    10:10:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):523:523 -> c
+    1:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):235:236 -> collectIndexedItems
+    3:181:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:178 -> collectIndexedItems
+    3:181:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):236 -> collectIndexedItems
+    182:427:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    182:427:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    182:427:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):236 -> collectIndexedItems
+    428:428:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):237:237 -> collectIndexedItems
+    429:431:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):176:178 -> collectIndexedItems
+    429:431:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):238 -> collectIndexedItems
+    432:677:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    432:677:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    432:677:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):238 -> collectIndexedItems
+    678:680:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):240:242 -> collectIndexedItems
+    681:681:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):245:245 -> collectIndexedItems
+    681:681:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):243 -> collectIndexedItems
+    682:682:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):245:245 -> collectIndexedItems
+    683:683:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):83:83 -> collectIndexedItems
+    683:683:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):245 -> collectIndexedItems
+    684:693:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):246:255 -> collectIndexedItems
+    694:696:void synchronizedCollectAll(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexItem[]):265:267 -> collectIndexedItems
+    694:696:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):255 -> collectIndexedItems
+    697:697:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):256:256 -> collectIndexedItems
+    698:700:void synchronizedCollectAll(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexItem[]):265:267 -> collectIndexedItems
+    698:700:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):256 -> collectIndexedItems
+    701:702:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):257:258 -> collectIndexedItems
+    703:703:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):88:88 -> collectIndexedItems
+    703:703:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):258 -> collectIndexedItems
+    704:704:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):259:259 -> collectIndexedItems
+    705:705:void synchronizedCollectAll(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexItem[]):267:267 -> collectIndexedItems
+    705:705:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):256 -> collectIndexedItems
+    706:706:void synchronizedCollectAll(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexItem[]):267:267 -> collectIndexedItems
+    706:706:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):255 -> collectIndexedItems
+    1:4:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):276:279 -> collectMixedSectionItems
+    1:1:void forEachProgramField(java.util.function.Consumer):137:137 -> d
+    2:2:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):199:199 -> d
+    3:3:boolean com.android.tools.r8.graph.DexClass.isFinal():476:476 -> d
+    3:3:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):316 -> d
+    4:10:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):319:325 -> d
+    1:1:void forEachProgramMethod(java.util.function.Consumer):141:141 -> e
+    2:2:com.android.tools.r8.graph.ProgramMethod lookupProgramMethod(com.android.tools.r8.graph.DexMethod):187:187 -> e
     com.android.tools.r8.graph.DexProgramClass asProgramClass() -> f
-    1:2:int getInitialClassFileVersion():461:462 -> f0
-    1:1:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getClassInitializer():538:538 -> g0
-    1:1:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():167 -> g0
-    2:2:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():167:167 -> g0
-    1:1:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():171:171 -> h0
-    2:2:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):175:175 -> h0
-    2:2:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():171 -> h0
-    1:1:java.util.Collection getSynthesizedFrom():267:267 -> i0
-    1:1:boolean hasAnnotations():369:369 -> j0
-    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):388:389 -> j0
-    2:3:boolean hasAnnotations():370 -> j0
-    4:6:boolean hasAnnotations():370:372 -> j0
-    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):390:390 -> j0
-    7:7:boolean hasAnnotations():370 -> j0
-    1:1:boolean hasClassFileVersion():457:457 -> k0
+    1:1:void forEachProgramVirtualMethod(java.util.function.Consumer):161:161 -> f
+    1:1:long getChecksum():532:532 -> f0
+    1:2:int getInitialClassFileVersion():465:466 -> g0
+    1:1:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getClassInitializer():545:545 -> h0
+    1:1:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():171 -> h0
+    2:2:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():171:171 -> h0
+    1:1:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():175:175 -> i0
+    2:2:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):179:179 -> i0
+    2:2:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():175 -> i0
+    1:1:java.util.Collection getSynthesizedFrom():271:271 -> j0
+    1:1:boolean hasAnnotations():373:373 -> k0
+    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):392:393 -> k0
+    2:3:boolean hasAnnotations():374 -> k0
+    4:6:boolean hasAnnotations():374:376 -> k0
+    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):394:394 -> k0
+    7:7:boolean hasAnnotations():374 -> k0
     boolean isProgramClass() -> l
-    1:1:boolean hasMethods():361:361 -> l0
-    1:1:boolean hasMethodsOrFields():365 -> l0
-    2:2:boolean hasFields():357:357 -> l0
-    2:2:boolean hasMethodsOrFields():365 -> l0
-    1:1:boolean hasOnlyInternalizableAnnotations():376:376 -> m0
-    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):388:389 -> m0
-    2:3:boolean hasOnlyInternalizableAnnotations():376 -> m0
-    4:6:boolean hasOnlyInternalizableAnnotations():376:378 -> m0
-    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):390:390 -> m0
-    7:7:boolean hasOnlyInternalizableAnnotations():376 -> m0
-    1:1:boolean originatesFromClassResource():225:225 -> n0
-    1:1:boolean originatesFromDexResource():221:221 -> o0
-    1:1:java.lang.String toSourceString():303:303 -> toSourceString
-    1:1:java.lang.String toString():298:298 -> toString
+    1:1:boolean hasClassFileVersion():461:461 -> l0
+    1:1:boolean hasMethods():365:365 -> m0
+    1:1:boolean hasMethodsOrFields():369 -> m0
+    2:2:boolean hasFields():361:361 -> m0
+    2:2:boolean hasMethodsOrFields():369 -> m0
+    1:1:boolean hasOnlyInternalizableAnnotations():380:380 -> n0
+    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):392:393 -> n0
+    2:3:boolean hasOnlyInternalizableAnnotations():380 -> n0
+    4:6:boolean hasOnlyInternalizableAnnotations():380:382 -> n0
+    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):394:394 -> n0
+    7:7:boolean hasOnlyInternalizableAnnotations():380 -> n0
+    1:1:boolean originatesFromClassResource():229:229 -> o0
+    1:1:boolean originatesFromDexResource():225:225 -> p0
+    1:1:java.lang.String toSourceString():307:307 -> toSourceString
+    1:1:java.lang.String toString():302:302 -> toString
 com.android.tools.r8.graph.DexProgramClass$1 -> com.android.tools.r8.graph.f0$a:
     java.util.Iterator iterator -> b
     com.android.tools.r8.graph.DexProgramClass next -> a
     java.lang.Iterable val$types -> c
     com.android.tools.r8.graph.DexDefinitionSupplier val$definitions -> d
-    1:5:void <init>(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):487:491 -> <init>
-    1:1:boolean hasNext():495:495 -> hasNext
-    1:5:com.android.tools.r8.graph.DexProgramClass findNext():506:510 -> k
-    1:2:com.android.tools.r8.graph.DexProgramClass next():500:501 -> next
-    1:2:java.lang.Object next():487 -> next
+    1:5:void <init>(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):491:495 -> <init>
+    1:1:boolean hasNext():499:499 -> hasNext
+    1:5:com.android.tools.r8.graph.DexProgramClass findNext():510:514 -> l
+    1:2:com.android.tools.r8.graph.DexProgramClass next():504:505 -> next
+    1:2:java.lang.Object next():491 -> next
 com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier -> com.android.tools.r8.graph.f0$b:
     long getChecksum(com.android.tools.r8.graph.DexProgramClass) -> a
 com.android.tools.r8.graph.DexProto -> com.android.tools.r8.graph.g0:
-    com.android.tools.r8.graph.DexTypeList parameters -> d
-    com.android.tools.r8.graph.DexString shorty -> b
-    com.android.tools.r8.graph.DexProto SENTINEL -> e
-    com.android.tools.r8.graph.DexType returnType -> c
+    com.android.tools.r8.graph.DexString shorty -> c
+    com.android.tools.r8.graph.DexTypeList parameters -> e
+    com.android.tools.r8.graph.DexType returnType -> d
+    com.android.tools.r8.graph.DexProto SENTINEL -> b
     1:1:void <clinit>():11:11 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):17:20 -> <init>
     1:1:int slowCompareTo(java.lang.Object):9:9 -> a
@@ -18636,24 +18640,23 @@
     3:248:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
     3:248:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):54 -> collectIndexedItems
     249:249:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):55:55 -> collectIndexedItems
-    250:402:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:152 -> collectIndexedItems
-    250:402:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):55 -> collectIndexedItems
-    403:648:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    403:648:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    403:648:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):55 -> collectIndexedItems
-    649:649:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):56:56 -> collectIndexedItems
+    250:428:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:178 -> collectIndexedItems
+    250:428:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):55 -> collectIndexedItems
+    429:674:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    429:674:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    429:674:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):55 -> collectIndexedItems
+    675:675:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):56:56 -> collectIndexedItems
     1:5:boolean computeEquals(java.lang.Object):36:40 -> computeEquals
     1:3:int computeHashCode():29:31 -> computeHashCode
     1:1:java.lang.String toDescriptorString():89:89 -> toSmaliString
     1:1:java.lang.String toSmaliString():85 -> toSmaliString
     1:1:java.lang.String toString():47:47 -> toString
 com.android.tools.r8.graph.DexReference -> com.android.tools.r8.graph.h0:
-    1:1:void <clinit>():14:14 -> <clinit>
-    1:1:void <init>():14:14 -> <init>
+    1:1:void <init>():15:15 -> <init>
+    void accept(java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,java.lang.Object) -> a
+    void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer) -> a
+    java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function) -> a
     com.android.tools.r8.graph.DexField asDexField() -> a
-    1:1:java.util.stream.Stream filterDexType(java.util.stream.Stream):76:76 -> a
-    2:2:java.util.stream.Stream filter(java.util.stream.Stream,java.util.function.Predicate,java.util.function.Function):72:72 -> a
-    2:2:java.util.stream.Stream filterDexType(java.util.stream.Stream):76 -> a
     com.android.tools.r8.graph.DexMember asDexMember() -> b
     com.android.tools.r8.graph.DexMethod asDexMethod() -> c
     com.android.tools.r8.graph.DexType asDexType() -> d
@@ -18662,10 +18665,10 @@
     boolean isDexMethod() -> g
     boolean isDexType() -> h
 com.android.tools.r8.graph.DexString -> com.android.tools.r8.graph.i0:
-    boolean $assertionsDisabled -> e
-    int size -> b
-    byte[] content -> c
-    com.android.tools.r8.graph.DexString[] EMPTY_ARRAY -> d
+    int size -> d
+    com.android.tools.r8.graph.DexString[] EMPTY_ARRAY -> b
+    boolean $assertionsDisabled -> c
+    byte[] content -> e
     1:3:void <clinit>():17:19 -> <clinit>
     1:3:void <init>(int,byte[]):25:27 -> <init>
     4:6:void <init>(java.lang.String):30:32 -> <init>
@@ -18715,83 +18718,86 @@
     1:3:java.lang.String toASCIIString():100:102 -> h
     1:3:java.lang.String toString():92:94 -> toString
 com.android.tools.r8.graph.DexString$1 -> com.android.tools.r8.graph.i0$a:
-    com.android.tools.r8.graph.DexString this$0 -> b
-    boolean $assertionsDisabled -> c
-    int i -> a
+    com.android.tools.r8.graph.DexString this$0 -> c
+    boolean $assertionsDisabled -> a
+    int i -> b
     1:1:void <clinit>():36:36 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexString):36:38 -> <init>
     1:24:char nextChar():42:65 -> a
     25:25:char nextChar():43:43 -> a
     1:1:boolean hasNext():70:70 -> hasNext
 com.android.tools.r8.graph.DexType -> com.android.tools.r8.graph.j0:
-    com.android.tools.r8.graph.DexString descriptor -> b
-    java.util.List OLD_SYNTHESIZED_NAMES -> e
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.DexType[] EMPTY_ARRAY -> d
-    java.lang.String toStringCache -> c
-    1:6:void <clinit>():37:42 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexString):47:47 -> <init>
-    2:6:void <init>(com.android.tools.r8.graph.DexString):45:49 -> <init>
-    1:1:boolean isWideType():254:254 -> A
-    1:4:java.lang.String toBinaryName():112:115 -> B
-    5:8:java.lang.String toBinaryName():113:116 -> B
-    1:1:java.lang.String toDescriptorString():108:108 -> C
-    1:1:char toShorty():133:133 -> D
-    1:1:int slowCompareTo(java.lang.Object):37:37 -> a
-    2:2:int slowCompareTo(java.lang.Object,com.android.tools.r8.naming.NamingLens):37:37 -> a
-    3:3:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):89:89 -> a
-    4:4:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    4:4:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):90 -> a
-    5:12:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):90:97 -> a
-    13:13:boolean isSamePackage(com.android.tools.r8.graph.DexType):104:104 -> a
-    14:14:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):165:165 -> a
-    15:17:int slowCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.NamingLens):185:187 -> a
-    18:18:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    18:18:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):72 -> a
-    19:19:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):73:73 -> a
-    20:22:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):357:359 -> a
-    23:27:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):363:367 -> a
-    28:32:com.android.tools.r8.graph.DexType toArrayElementType(com.android.tools.r8.graph.DexItemFactory):371:375 -> a
-    33:36:com.android.tools.r8.graph.DexType toArrayElementType(com.android.tools.r8.graph.DexItemFactory):373:376 -> a
-    37:45:java.lang.String getPackageOrName(boolean):380:388 -> a
-    1:1:int slowCompareTo(com.android.tools.r8.graph.DexType):180:180 -> b
-    2:9:com.android.tools.r8.graph.DexType toBaseType(com.android.tools.r8.graph.DexItemFactory):329:336 -> b
-    10:14:com.android.tools.r8.graph.DexType toBaseType(com.android.tools.r8.graph.DexItemFactory):334:338 -> b
-    1:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):150:152 -> collectIndexedItems
+    java.lang.String toStringCache -> f
+    com.android.tools.r8.graph.DexType[] EMPTY_ARRAY -> b
+    com.android.tools.r8.graph.DexString descriptor -> e
+    java.util.List OLD_SYNTHESIZED_NAMES -> c
+    boolean $assertionsDisabled -> d
+    1:6:void <clinit>():38:43 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexString):48:48 -> <init>
+    2:6:void <init>(com.android.tools.r8.graph.DexString):46:50 -> <init>
+    1:1:boolean isWideType():280:280 -> A
+    1:4:java.lang.String toBinaryName():113:116 -> B
+    5:8:java.lang.String toBinaryName():114:117 -> B
+    1:1:java.lang.String toDescriptorString():109:109 -> C
+    1:1:char toShorty():159:159 -> D
+    1:1:int slowCompareTo(java.lang.Object):38:38 -> a
+    2:2:int slowCompareTo(java.lang.Object,com.android.tools.r8.naming.NamingLens):38:38 -> a
+    3:3:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):90:90 -> a
+    4:4:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    4:4:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):91 -> a
+    5:12:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):91:98 -> a
+    13:13:boolean isSamePackage(com.android.tools.r8.graph.DexType):105:105 -> a
+    14:14:java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function):125:125 -> a
+    15:15:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):133:133 -> a
+    16:16:void accept(java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,java.lang.Object):142:142 -> a
+    17:17:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):191:191 -> a
+    18:20:int slowCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.NamingLens):211:213 -> a
+    21:21:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    21:21:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):73 -> a
+    22:22:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate,java.util.Set):74:74 -> a
+    23:25:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):383:385 -> a
+    26:30:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):389:393 -> a
+    31:35:com.android.tools.r8.graph.DexType toArrayElementType(com.android.tools.r8.graph.DexItemFactory):397:401 -> a
+    36:39:com.android.tools.r8.graph.DexType toArrayElementType(com.android.tools.r8.graph.DexItemFactory):399:402 -> a
+    40:48:java.lang.String getPackageOrName(boolean):406:414 -> a
+    1:1:int slowCompareTo(com.android.tools.r8.graph.DexType):206:206 -> b
+    2:9:com.android.tools.r8.graph.DexType toBaseType(com.android.tools.r8.graph.DexItemFactory):355:362 -> b
+    10:14:com.android.tools.r8.graph.DexType toBaseType(com.android.tools.r8.graph.DexItemFactory):360:364 -> b
+    1:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):176:178 -> collectIndexedItems
     4:249:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    4:249:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    1:2:boolean computeEquals(java.lang.Object):59:60 -> computeEquals
-    1:1:int computeHashCode():54:54 -> computeHashCode
+    4:249:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    1:2:boolean computeEquals(java.lang.Object):60:61 -> computeEquals
+    1:1:int computeHashCode():55:55 -> computeHashCode
     com.android.tools.r8.graph.DexType asDexType() -> d
-    1:2:void flushCachedValues():159:160 -> flushCachedValues
+    1:2:void flushCachedValues():185:186 -> flushCachedValues
     boolean isDexType() -> h
-    1:16:int elementSizeForPrimitiveArrayType():301:316 -> i
-    1:2:java.lang.String getInternalName():405:406 -> j
-    1:4:java.lang.String getName():397:400 -> k
-    1:1:int getNumberOfLeadingSquareBrackets():322:322 -> l
-    1:1:java.lang.String getPackageDescriptor():393:393 -> m
-    1:1:java.lang.String getPackageName():410:410 -> n
-    1:1:boolean isArrayType():231:231 -> o
-    1:1:boolean isBooleanType():199:199 -> p
-    1:1:boolean isClassType():236:236 -> q
-    1:15:boolean isD8R8SynthesizedClassType():263:277 -> r
-    16:17:boolean oldSynthesizedName(java.lang.String):282:283 -> r
-    16:17:boolean isD8R8SynthesizedClassType():278 -> r
-    1:1:boolean isDoubleType():227:227 -> s
-    1:1:boolean isFloatType():219:219 -> t
-    1:1:java.lang.String toSmaliString():139:139 -> toSmaliString
-    1:9:java.lang.String toSourceString():121:129 -> toSourceString
-    1:1:java.lang.String toString():144:144 -> toString
-    1:1:boolean isIntType():215:215 -> u
-    1:1:boolean isLongType():223:223 -> v
-    1:4:boolean isPrimitiveArrayType():247:250 -> w
-    1:1:boolean isPrimitiveType():191:191 -> x
-    1:2:boolean isReferenceType():241:242 -> y
-    1:1:boolean isVoidType():195:195 -> z
+    1:16:int elementSizeForPrimitiveArrayType():327:342 -> i
+    1:2:java.lang.String getInternalName():431:432 -> j
+    1:4:java.lang.String getName():423:426 -> k
+    1:1:int getNumberOfLeadingSquareBrackets():348:348 -> l
+    1:1:java.lang.String getPackageDescriptor():419:419 -> m
+    1:1:java.lang.String getPackageName():436:436 -> n
+    1:1:boolean isArrayType():257:257 -> o
+    1:1:boolean isBooleanType():225:225 -> p
+    1:1:boolean isClassType():262:262 -> q
+    1:15:boolean isD8R8SynthesizedClassType():289:303 -> r
+    16:17:boolean oldSynthesizedName(java.lang.String):308:309 -> r
+    16:17:boolean isD8R8SynthesizedClassType():304 -> r
+    1:1:boolean isDoubleType():253:253 -> s
+    1:1:boolean isFloatType():245:245 -> t
+    1:1:java.lang.String toSmaliString():165:165 -> toSmaliString
+    1:9:java.lang.String toSourceString():147:155 -> toSourceString
+    1:1:java.lang.String toString():170:170 -> toString
+    1:1:boolean isIntType():241:241 -> u
+    1:1:boolean isLongType():249:249 -> v
+    1:4:boolean isPrimitiveArrayType():273:276 -> w
+    1:1:boolean isPrimitiveType():217:217 -> x
+    1:2:boolean isReferenceType():267:268 -> y
+    1:1:boolean isVoidType():221:221 -> z
 com.android.tools.r8.graph.DexTypeList -> com.android.tools.r8.graph.k0:
-    com.android.tools.r8.graph.DexType[] values -> a
-    com.android.tools.r8.graph.DexTypeList theEmptyTypeList -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexTypeList theEmptyTypeList -> a
+    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexType[] values -> c
     1:3:void <clinit>():13:15 -> <clinit>
     1:2:void <init>():23:24 -> <init>
     3:5:void <init>(com.android.tools.r8.graph.DexType[]):27:29 -> <init>
@@ -18799,11 +18805,11 @@
     1:1:boolean isEmpty():64:64 -> b
     1:1:int size():68:68 -> c
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):44:44 -> collectIndexedItems
-    2:154:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:152 -> collectIndexedItems
-    2:154:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):45 -> collectIndexedItems
-    155:400:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    155:400:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    155:400:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):45 -> collectIndexedItems
+    2:180:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:178 -> collectIndexedItems
+    2:180:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):45 -> collectIndexedItems
+    181:426:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    181:426:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    181:426:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):45 -> collectIndexedItems
     1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):51:51 -> collectMixedSectionItems
     1:2:boolean equals(java.lang.Object):59:60 -> equals
     1:1:int hashCode():38:38 -> hashCode
@@ -18868,8 +18874,8 @@
     boolean isDexValueByte() -> z
 com.android.tools.r8.graph.DexValue$1 -> com.android.tools.r8.graph.l0$a:
 com.android.tools.r8.graph.DexValue$DexItemBasedValueString -> com.android.tools.r8.graph.l0$b:
-    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():1146:1146 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1151:1152 -> <init>
     void sort() -> N
@@ -18925,10 +18931,10 @@
     1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1393:1393 -> u
     boolean isDexValueArray() -> x
 com.android.tools.r8.graph.DexValue$DexValueBoolean -> com.android.tools.r8.graph.l0$e:
-    com.android.tools.r8.graph.DexValue$DexValueBoolean FALSE -> d
-    com.android.tools.r8.graph.DexValue$DexValueBoolean DEFAULT -> e
-    com.android.tools.r8.graph.DexValue$DexValueBoolean TRUE -> c
-    boolean value -> b
+    com.android.tools.r8.graph.DexValue$DexValueBoolean DEFAULT -> d
+    com.android.tools.r8.graph.DexValue$DexValueBoolean TRUE -> b
+    com.android.tools.r8.graph.DexValue$DexValueBoolean FALSE -> c
+    boolean value -> e
     1:4:void <clinit>():1633:1636 -> <clinit>
     1:2:void <init>(boolean):1640:1641 -> <init>
     1:1:long getRawValue():1664:1664 -> O
@@ -18949,8 +18955,8 @@
     1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1654:1654 -> u
     boolean isDexValueBoolean() -> y
 com.android.tools.r8.graph.DexValue$DexValueByte -> com.android.tools.r8.graph.l0$f:
-    com.android.tools.r8.graph.DexValue$DexValueByte DEFAULT -> c
-    byte value -> b
+    com.android.tools.r8.graph.DexValue$DexValueByte DEFAULT -> b
+    byte value -> c
     1:1:void <clinit>():430:430 -> <clinit>
     1:2:void <init>(byte):434:435 -> <init>
     1:1:long getRawValue():458:458 -> O
@@ -18970,8 +18976,8 @@
     1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():448:448 -> u
     boolean isDexValueByte() -> z
 com.android.tools.r8.graph.DexValue$DexValueChar -> com.android.tools.r8.graph.l0$g:
-    com.android.tools.r8.graph.DexValue$DexValueChar DEFAULT -> c
-    char value -> b
+    com.android.tools.r8.graph.DexValue$DexValueChar DEFAULT -> b
+    char value -> c
     1:1:void <clinit>():596:596 -> <clinit>
     1:2:void <init>(char):599:600 -> <init>
     boolean isDexValueChar() -> A
@@ -18994,8 +19000,8 @@
     1:1:java.lang.String toString():670:670 -> toString
     1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():613:613 -> u
 com.android.tools.r8.graph.DexValue$DexValueDouble -> com.android.tools.r8.graph.l0$h:
-    com.android.tools.r8.graph.DexValue$DexValueDouble DEFAULT -> c
-    double value -> b
+    com.android.tools.r8.graph.DexValue$DexValueDouble DEFAULT -> b
+    double value -> c
     1:1:void <clinit>():933:933 -> <clinit>
     1:2:void <init>(double):937:938 -> <init>
     boolean isDexValueDouble() -> B
@@ -19009,8 +19015,8 @@
     6:7:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):984:985 -> a
     8:8:java.lang.Object asAsmEncodedObject():990:990 -> a
     9:9:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):996:996 -> a
-    10:1117:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createDoubleConstant(double,com.android.tools.r8.graph.DebugLocalInfo):0:1107 -> a
-    10:1117:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):996 -> a
+    10:1121:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createDoubleConstant(double,com.android.tools.r8.graph.DebugLocalInfo):0:1111 -> a
+    10:1121:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):996 -> a
     1:2:boolean equals(java.lang.Object):1009:1010 -> equals
     com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> g
     1:1:int hashCode():1001:1001 -> hashCode
@@ -19048,8 +19054,8 @@
     1:1:java.lang.String toString():1247:1247 -> toString
     1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1255:1255 -> u
 com.android.tools.r8.graph.DexValue$DexValueFloat -> com.android.tools.r8.graph.l0$k:
-    com.android.tools.r8.graph.DexValue$DexValueFloat DEFAULT -> c
-    float value -> b
+    com.android.tools.r8.graph.DexValue$DexValueFloat DEFAULT -> b
+    float value -> c
     1:1:void <clinit>():846:846 -> <clinit>
     1:2:void <init>(float):849:850 -> <init>
     boolean isDexValueFloat() -> C
@@ -19063,8 +19069,8 @@
     6:7:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):896:897 -> a
     8:8:java.lang.Object asAsmEncodedObject():902:902 -> a
     9:9:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):908:908 -> a
-    10:1121:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createFloatConstant(float,com.android.tools.r8.graph.DebugLocalInfo):0:1111 -> a
-    10:1121:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):908 -> a
+    10:1125:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createFloatConstant(float,com.android.tools.r8.graph.DebugLocalInfo):0:1115 -> a
+    10:1125:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):908 -> a
     1:2:boolean equals(java.lang.Object):921:922 -> equals
     1:1:int hashCode():913:913 -> hashCode
     com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> j
@@ -19072,8 +19078,8 @@
     1:1:java.lang.String toString():927:927 -> toString
     1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():863:863 -> u
 com.android.tools.r8.graph.DexValue$DexValueInt -> com.android.tools.r8.graph.l0$l:
-    int value -> b
-    com.android.tools.r8.graph.DexValue$DexValueInt DEFAULT -> c
+    com.android.tools.r8.graph.DexValue$DexValueInt DEFAULT -> b
+    int value -> c
     1:1:void <clinit>():682:682 -> <clinit>
     1:2:void <init>(int):685:686 -> <init>
     boolean isDexValueInt() -> D
@@ -19091,33 +19097,33 @@
     1:1:java.lang.String toString():752:752 -> toString
     1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():699:699 -> u
 com.android.tools.r8.graph.DexValue$DexValueKind -> com.android.tools.r8.graph.l0$m:
-    com.android.tools.r8.graph.DexValue$DexValueKind ARRAY -> p
-    com.android.tools.r8.graph.DexValue$DexValueKind ANNOTATION -> q
-    byte b -> a
-    com.android.tools.r8.graph.DexValue$DexValueKind NULL -> r
-    com.android.tools.r8.graph.DexValue$DexValueKind BOOLEAN -> s
-    com.android.tools.r8.graph.DexValue$DexValueKind DOUBLE -> h
-    com.android.tools.r8.graph.DexValue$DexValueKind METHOD_TYPE -> i
-    com.android.tools.r8.graph.DexValue$DexValueKind METHOD_HANDLE -> j
-    com.android.tools.r8.graph.DexValue$DexValueKind STRING -> k
-    com.android.tools.r8.graph.DexValue$DexValueKind TYPE -> l
-    com.android.tools.r8.graph.DexValue$DexValueKind FIELD -> m
-    com.android.tools.r8.graph.DexValue$DexValueKind METHOD -> n
-    com.android.tools.r8.graph.DexValue$DexValueKind ENUM -> o
-    com.android.tools.r8.graph.DexValue$DexValueKind BYTE -> b
-    com.android.tools.r8.graph.DexValue$DexValueKind SHORT -> c
-    com.android.tools.r8.graph.DexValue$DexValueKind CHAR -> d
-    com.android.tools.r8.graph.DexValue$DexValueKind INT -> e
-    com.android.tools.r8.graph.DexValue$DexValueKind LONG -> f
-    com.android.tools.r8.graph.DexValue$DexValueKind FLOAT -> g
-    com.android.tools.r8.graph.DexValue$DexValueKind[] $VALUES -> t
+    com.android.tools.r8.graph.DexValue$DexValueKind ANNOTATION -> p
+    com.android.tools.r8.graph.DexValue$DexValueKind NULL -> q
+    com.android.tools.r8.graph.DexValue$DexValueKind BOOLEAN -> r
+    com.android.tools.r8.graph.DexValue$DexValueKind METHOD_TYPE -> h
+    com.android.tools.r8.graph.DexValue$DexValueKind METHOD_HANDLE -> i
+    com.android.tools.r8.graph.DexValue$DexValueKind STRING -> j
+    com.android.tools.r8.graph.DexValue$DexValueKind TYPE -> k
+    com.android.tools.r8.graph.DexValue$DexValueKind FIELD -> l
+    com.android.tools.r8.graph.DexValue$DexValueKind METHOD -> m
+    com.android.tools.r8.graph.DexValue$DexValueKind ENUM -> n
+    com.android.tools.r8.graph.DexValue$DexValueKind ARRAY -> o
+    com.android.tools.r8.graph.DexValue$DexValueKind BYTE -> a
+    com.android.tools.r8.graph.DexValue$DexValueKind SHORT -> b
+    byte b -> t
+    com.android.tools.r8.graph.DexValue$DexValueKind CHAR -> c
+    com.android.tools.r8.graph.DexValue$DexValueKind INT -> d
+    com.android.tools.r8.graph.DexValue$DexValueKind[] $VALUES -> s
+    com.android.tools.r8.graph.DexValue$DexValueKind LONG -> e
+    com.android.tools.r8.graph.DexValue$DexValueKind FLOAT -> f
+    com.android.tools.r8.graph.DexValue$DexValueKind DOUBLE -> g
     1:18:void <clinit>():33:50 -> <clinit>
     19:19:void <clinit>():32:32 -> <clinit>
     1:2:void <init>(java.lang.String,int,int):97:98 -> <init>
     1:1:byte toByte():102:102 -> a
 com.android.tools.r8.graph.DexValue$DexValueLong -> com.android.tools.r8.graph.l0$n:
-    long value -> b
-    com.android.tools.r8.graph.DexValue$DexValueLong DEFAULT -> c
+    long value -> c
+    com.android.tools.r8.graph.DexValue$DexValueLong DEFAULT -> b
     1:1:void <clinit>():764:764 -> <clinit>
     1:2:void <init>(long):767:768 -> <init>
     boolean isDexValueLong() -> E
@@ -19128,8 +19134,8 @@
     3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):811:811 -> a
     4:4:java.lang.Object asAsmEncodedObject():816:816 -> a
     5:5:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):840:840 -> a
-    6:1129:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createLongConstant(long,com.android.tools.r8.graph.DebugLocalInfo):0:1123 -> a
-    6:1129:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):840 -> a
+    6:1133:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createLongConstant(long,com.android.tools.r8.graph.DebugLocalInfo):0:1127 -> a
+    6:1133:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):840 -> a
     1:1:boolean equals(java.lang.Object):829:829 -> equals
     1:1:int hashCode():821:821 -> hashCode
     com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> l
@@ -19145,14 +19151,14 @@
     3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1280:1280 -> a
     4:4:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1309:1309 -> a
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):1294:1294 -> collectIndexedItems
-    2:2:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):60:60 -> collectIndexedItems
+    2:2:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):93:93 -> collectIndexedItems
     2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):1294 -> collectIndexedItems
-    3:3:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):77:77 -> collectIndexedItems
-    3:3:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):61 -> collectIndexedItems
+    3:3:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):110:110 -> collectIndexedItems
+    3:3:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):94 -> collectIndexedItems
     3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):1294 -> collectIndexedItems
     4:249:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    4:249:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):77 -> collectIndexedItems
-    4:249:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):61 -> collectIndexedItems
+    4:249:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):110 -> collectIndexedItems
+    4:249:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):94 -> collectIndexedItems
     4:249:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):1294 -> collectIndexedItems
     1:1:boolean equals(java.lang.Object):1280:1280 -> equals
     1:1:int hashCode():1280:1280 -> hashCode
@@ -19201,10 +19207,10 @@
     boolean isDexValueNull() -> H
     long getRawValue() -> O
     java.lang.Object asAsmEncodedObject() -> a
-    1:1155:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createConstNull(com.android.tools.r8.graph.DebugLocalInfo):0:1154 -> a
-    1:1155:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1627 -> a
-    1156:1156:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1573:1573 -> a
-    1157:1157:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1583:1583 -> a
+    1:1159:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createConstNull(com.android.tools.r8.graph.DebugLocalInfo):0:1158 -> a
+    1:1159:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1627 -> a
+    1160:1160:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1573:1573 -> a
+    1161:1161:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1583:1583 -> a
     1:1:boolean equals(java.lang.Object):1616:1616 -> equals
     java.lang.Object getBoxedValue() -> t
     1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1568:1568 -> u
@@ -19217,8 +19223,8 @@
     1:1:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):424:424 -> a
     com.android.tools.r8.graph.DexValue$DexValueNumber asDexValueNumber() -> p
 com.android.tools.r8.graph.DexValue$DexValueShort -> com.android.tools.r8.graph.l0$t:
-    com.android.tools.r8.graph.DexValue$DexValueShort DEFAULT -> c
-    short value -> b
+    com.android.tools.r8.graph.DexValue$DexValueShort DEFAULT -> b
+    short value -> c
     1:1:void <clinit>():514:514 -> <clinit>
     1:2:void <init>(short):517:518 -> <init>
     boolean isDexValueShort() -> J
@@ -19264,11 +19270,11 @@
     3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1214:1214 -> a
     4:4:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1243:1243 -> a
     1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):1228:1228 -> collectIndexedItems
-    2:154:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:152 -> collectIndexedItems
-    2:154:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):1228 -> collectIndexedItems
-    155:400:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
-    155:400:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):153 -> collectIndexedItems
-    155:400:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):1228 -> collectIndexedItems
+    2:180:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:178 -> collectIndexedItems
+    2:180:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):1228 -> collectIndexedItems
+    181:426:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):0:245 -> collectIndexedItems
+    181:426:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):179 -> collectIndexedItems
+    181:426:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexMethod,int):1228 -> collectIndexedItems
     1:1:boolean equals(java.lang.Object):1214:1214 -> equals
     1:1:int hashCode():1214:1214 -> hashCode
     com.android.tools.r8.graph.DexValue$DexValueType asDexValueType() -> s
@@ -19307,70 +19313,59 @@
     4:4:void writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):403 -> a
     5:5:void writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):404:404 -> a
 com.android.tools.r8.graph.DirectMappedDexApplication -> com.android.tools.r8.graph.m0:
-    boolean $assertionsDisabled -> n
-    com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> m
-    com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> l
-    com.android.tools.r8.com.google.common.collect.ImmutableList programClasses -> k
-    java.util.Map codeOwners -> i
-    java.util.Map allClasses -> j
+    com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> n
+    com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> m
+    boolean $assertionsDisabled -> i
+    com.android.tools.r8.com.google.common.collect.ImmutableList programClasses -> l
+    java.util.Map codeOwners -> j
+    java.util.Map allClasses -> k
     1:1:void <clinit>():22:22 -> <clinit>
     1:1:void <init>(com.android.tools.r8.naming.ClassNameMapper,java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableSet,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DirectMappedDexApplication$1):22:22 -> <init>
     2:2:void <init>(com.android.tools.r8.naming.ClassNameMapper,java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableSet,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):46:46 -> <init>
     3:33:void <init>(com.android.tools.r8.naming.ClassNameMapper,java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableSet,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):26:56 -> <init>
     com.android.tools.r8.graph.DirectMappedDexApplication asDirect() -> a
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$100(com.android.tools.r8.graph.DirectMappedDexApplication):22:22 -> a
-    2:3:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):118:119 -> a
-    4:5:com.android.tools.r8.graph.DirectMappedDexApplication rewrittenWithLens(com.android.tools.r8.graph.GraphLense):149:150 -> a
-    6:12:boolean mappingIsValid(com.android.tools.r8.graph.GraphLense,java.lang.Iterable):169:175 -> a
-    6:12:com.android.tools.r8.graph.DirectMappedDexApplication rewrittenWithLens(com.android.tools.r8.graph.GraphLense):150 -> a
-    13:13:com.android.tools.r8.graph.DirectMappedDexApplication rewrittenWithLens(com.android.tools.r8.graph.GraphLense):151:151 -> a
-    14:16:boolean verifyNothingToRewrite(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):156:156 -> a
-    21:21:boolean verifyNothingToRewrite(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):161:161 -> a
-    22:23:boolean lambda$verifyNothingToRewrite$0(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):159:160 -> a
-    24:26:void addAll(java.util.Map,java.lang.Iterable):283:285 -> a
+    2:3:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):101:102 -> a
+    4:5:com.android.tools.r8.graph.DirectMappedDexApplication rewrittenWithLens(com.android.tools.r8.graph.GraphLense):132:133 -> a
+    6:12:boolean mappingIsValid(com.android.tools.r8.graph.GraphLense,java.lang.Iterable):152:158 -> a
+    6:12:com.android.tools.r8.graph.DirectMappedDexApplication rewrittenWithLens(com.android.tools.r8.graph.GraphLense):133 -> a
+    13:13:com.android.tools.r8.graph.DirectMappedDexApplication rewrittenWithLens(com.android.tools.r8.graph.GraphLense):134:134 -> a
+    14:16:boolean verifyNothingToRewrite(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):139:139 -> a
+    21:21:boolean verifyNothingToRewrite(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):144:144 -> a
+    22:23:boolean lambda$verifyNothingToRewrite$0(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):142:143 -> a
+    24:26:void addAll(java.util.Map,java.lang.Iterable):266:268 -> a
     24:26:void access$300(java.util.Map,java.lang.Iterable):22 -> a
     1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$200(com.android.tools.r8.graph.DirectMappedDexApplication):22:22 -> b
     2:2:com.android.tools.r8.graph.DexApplication$Builder builder():22:22 -> b
-    1:5:com.android.tools.r8.graph.DexDefinition definitionFor(com.android.tools.r8.graph.DexReference):78:82 -> definitionFor
-    6:6:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):96:96 -> definitionFor
-    6:6:com.android.tools.r8.graph.DexDefinition definitionFor(com.android.tools.r8.graph.DexReference):82 -> definitionFor
-    7:7:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):411:411 -> definitionFor
-    7:7:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):97 -> definitionFor
-    7:7:com.android.tools.r8.graph.DexDefinition definitionFor(com.android.tools.r8.graph.DexReference):82 -> definitionFor
-    8:9:com.android.tools.r8.graph.DexDefinition definitionFor(com.android.tools.r8.graph.DexReference):84:85 -> definitionFor
-    10:11:com.android.tools.r8.graph.DexEncodedField definitionFor(com.android.tools.r8.graph.DexField):90:91 -> definitionFor
-    12:12:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):96:96 -> definitionFor
-    13:13:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):411:411 -> definitionFor
-    13:13:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):97 -> definitionFor
-    14:15:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):102:103 -> definitionFor
-    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():113:113 -> dexItemFactory
+    1:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):85:86 -> definitionFor
+    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():96:96 -> dexItemFactory
     1:1:java.util.List programClasses():65:65 -> f
     com.android.tools.r8.graph.DirectMappedDexApplication toDirect() -> g
     1:1:java.util.Collection allClasses():60:60 -> h
-    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder builder():124:124 -> i
+    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder builder():107:107 -> i
     1:1:java.util.Collection classpathClasses():73:73 -> j
     1:1:java.util.Collection libraryClasses():69:69 -> k
-    1:4:boolean verifyCodeObjectsOwners():194:197 -> l
+    1:4:boolean verifyCodeObjectsOwners():177:180 -> l
     5:5:java.lang.Iterable com.android.tools.r8.graph.DexClass.methods(java.util.function.Predicate):133:133 -> l
-    5:5:boolean verifyCodeObjectsOwners():197 -> l
-    6:14:boolean verifyCodeObjectsOwners():197:205 -> l
+    5:5:boolean verifyCodeObjectsOwners():180 -> l
+    6:14:boolean verifyCodeObjectsOwners():180:188 -> l
 com.android.tools.r8.graph.DirectMappedDexApplication$1 -> com.android.tools.r8.graph.m0$a:
 com.android.tools.r8.graph.DirectMappedDexApplication$Builder -> com.android.tools.r8.graph.m0$b:
     com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> l
     com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> k
-    1:1:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.DirectMappedDexApplication$1):211:211 -> <init>
-    2:7:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):217:222 -> <init>
-    8:10:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication):226:228 -> <init>
-    1:1:com.android.tools.r8.graph.DexApplication build():211:211 -> a
-    1:4:com.android.tools.r8.graph.DirectMappedDexApplication$Builder addClasspathClasses(java.util.Collection):248:251 -> b
-    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceClasspathClasses(java.util.Collection):242:242 -> c
-    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceLibraryClasses(java.util.Collection):237:237 -> d
+    1:1:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.DirectMappedDexApplication$1):194:194 -> <init>
+    2:7:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):200:205 -> <init>
+    8:10:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication):209:211 -> <init>
+    1:1:com.android.tools.r8.graph.DexApplication build():194:194 -> a
+    1:4:com.android.tools.r8.graph.DirectMappedDexApplication$Builder addClasspathClasses(java.util.Collection):231:234 -> b
+    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceClasspathClasses(java.util.Collection):225:225 -> c
+    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceLibraryClasses(java.util.Collection):220:220 -> d
     com.android.tools.r8.graph.DexApplication$Builder self() -> e
-    1:16:com.android.tools.r8.graph.DirectMappedDexApplication build():259:274 -> f
+    1:16:com.android.tools.r8.graph.DirectMappedDexApplication build():242:257 -> f
 com.android.tools.r8.graph.EnclosingMethodAttribute -> com.android.tools.r8.graph.n0:
-    com.android.tools.r8.graph.DexType enclosingClass -> a
-    com.android.tools.r8.graph.DexMethod enclosingMethod -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexType enclosingClass -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexMethod enclosingMethod -> c
     1:1:void <clinit>():17:17 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexType):27:28 -> <init>
     3:4:void <init>(com.android.tools.r8.graph.DexMethod):31:32 -> <init>
@@ -19444,8 +19439,8 @@
 com.android.tools.r8.graph.FieldAccessInfo -> com.android.tools.r8.graph.t0:
 com.android.tools.r8.graph.FieldAccessInfoCollection -> com.android.tools.r8.graph.u0:
 com.android.tools.r8.graph.FieldAccessInfoCollectionImpl -> com.android.tools.r8.graph.v0:
-    java.util.Map infos -> a
-    boolean $assertionsDisabled -> b
+    java.util.Map infos -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():13:13 -> <clinit>
     1:4:void <init>():13:16 -> <init>
     1:1:void flattenAccessContexts():20:20 -> a
@@ -19463,16 +19458,16 @@
     2:2:boolean verifyMappingIsOneToOne():69:69 -> b
     1:1:com.android.tools.r8.graph.FieldAccessInfoImpl get(com.android.tools.r8.graph.DexField):30:30 -> c
 com.android.tools.r8.graph.FieldAccessInfoImpl -> com.android.tools.r8.graph.w0:
-    java.util.Map readsWithContexts -> c
-    java.util.Map writesWithContexts -> d
-    boolean $assertionsDisabled -> j
-    int FLAG_IS_WRITTEN_FROM_METHOD_HANDLE -> h
-    int FLAG_HAS_REFLECTIVE_ACCESS -> i
-    int FLAG_IS_READ_FROM_ANNOTATION -> f
-    com.android.tools.r8.graph.FieldAccessInfoImpl MISSING_FIELD_ACCESS_INFO -> e
-    int FLAG_IS_READ_FROM_METHOD_HANDLE -> g
-    com.android.tools.r8.graph.DexField field -> a
-    int flags -> b
+    com.android.tools.r8.graph.FieldAccessInfoImpl MISSING_FIELD_ACCESS_INFO -> a
+    int flags -> h
+    com.android.tools.r8.graph.DexField field -> g
+    java.util.Map readsWithContexts -> i
+    boolean $assertionsDisabled -> f
+    java.util.Map writesWithContexts -> j
+    int FLAG_IS_WRITTEN_FROM_METHOD_HANDLE -> d
+    int FLAG_HAS_REFLECTIVE_ACCESS -> e
+    int FLAG_IS_READ_FROM_ANNOTATION -> b
+    int FLAG_IS_READ_FROM_METHOD_HANDLE -> c
     1:8:void <clinit>():22:29 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexField):45:46 -> <init>
     1:13:void flattenAccessContexts(java.util.Map):56:68 -> a
@@ -19540,10 +19535,10 @@
     boolean isFailedOrUnknownResolution() -> c
     1:1:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult access$000():86:86 -> e
 com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult -> com.android.tools.r8.graph.x0$b:
-    com.android.tools.r8.graph.DexClass initialResolutionHolder -> a
-    com.android.tools.r8.graph.DexClass resolvedHolder -> b
-    com.android.tools.r8.graph.DexEncodedField resolvedField -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexClass initialResolutionHolder -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexClass resolvedHolder -> c
+    com.android.tools.r8.graph.DexEncodedField resolvedField -> d
     1:1:void <clinit>():38:38 -> <clinit>
     1:5:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):45:49 -> <init>
     com.android.tools.r8.graph.FieldResolutionResult$SuccessfulFieldResolutionResult asSuccessfulResolution() -> a
@@ -19572,8 +19567,8 @@
     1:1:java.util.List access$100():96:96 -> a
 com.android.tools.r8.graph.GenericSignature$1 -> com.android.tools.r8.graph.z0$a:
 com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature -> com.android.tools.r8.graph.z0$b:
-    com.android.tools.r8.graph.GenericSignature$TypeSignature elementSignature -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.GenericSignature$TypeSignature elementSignature -> c
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():376:376 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature):381:381 -> <init>
     2:4:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignature$WildcardIndicator):385:387 -> <init>
@@ -19584,29 +19579,29 @@
     com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature asArrayTypeSignature() -> g
     boolean isArrayTypeSignature() -> l
 com.android.tools.r8.graph.GenericSignature$BaseTypeSignature -> com.android.tools.r8.graph.z0$c:
-    com.android.tools.r8.graph.DexType type -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexType type -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():462:462 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.DexType):465:468 -> <init>
     1:2:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature(com.android.tools.r8.graph.AppView):483:484 -> a
     1:2:com.android.tools.r8.graph.GenericSignature$TypeSignature toArrayTypeSignature(com.android.tools.r8.graph.AppView):462 -> a
 com.android.tools.r8.graph.GenericSignature$ClassSignature -> com.android.tools.r8.graph.z0$d:
-    java.util.List formalTypeParameters -> a
-    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature superClassSignature -> b
-    java.util.List superInterfaceSignatures -> c
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.GenericSignature$ClassSignature UNKNOWN_CLASS_SIGNATURE -> d
+    com.android.tools.r8.graph.GenericSignature$ClassSignature UNKNOWN_CLASS_SIGNATURE -> a
+    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature superClassSignature -> d
+    java.util.List superInterfaceSignatures -> e
+    java.util.List formalTypeParameters -> c
+    boolean $assertionsDisabled -> b
     1:6:void <clinit>():152:157 -> <clinit>
     1:7:void <init>(java.util.List,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):166:172 -> <init>
     com.android.tools.r8.graph.GenericSignature$ClassSignature asClassSignature() -> c
     boolean isClassSignature() -> d
 com.android.tools.r8.graph.GenericSignature$ClassTypeSignature -> com.android.tools.r8.graph.z0$e:
-    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature enclosingTypeSignature -> d
-    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature innerTypeSignature -> e
-    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature UNKNOWN_CLASS_TYPE_SIGNATURE -> f
-    java.util.List typeArguments -> c
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.graph.DexType type -> b
+    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature UNKNOWN_CLASS_TYPE_SIGNATURE -> b
+    java.util.List typeArguments -> e
+    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature enclosingTypeSignature -> f
+    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature innerTypeSignature -> g
+    com.android.tools.r8.graph.DexType type -> d
+    boolean $assertionsDisabled -> c
     1:3:void <clinit>():309:311 -> <clinit>
     4:4:void <init>(com.android.tools.r8.graph.DexType,java.util.List):324:324 -> <clinit>
     4:4:void <clinit>():311 -> <clinit>
@@ -19659,11 +19654,11 @@
     10:10:java.util.function.Function parserMethod(com.android.tools.r8.graph.GenericSignature$Parser):584:584 -> a
     11:11:java.util.function.Function parserMethod(com.android.tools.r8.graph.GenericSignature$Parser):582:582 -> a
 com.android.tools.r8.graph.GenericSignature$MethodTypeSignature -> com.android.tools.r8.graph.z0$j:
-    java.util.List typeSignatures -> b
-    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature UNKNOWN_METHOD_TYPE_SIGNATURE -> d
-    java.util.List formalTypeParameters -> a
-    com.android.tools.r8.graph.GenericSignature$ReturnType returnType -> c
-    boolean $assertionsDisabled -> e
+    java.util.List typeSignatures -> d
+    java.util.List formalTypeParameters -> c
+    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature UNKNOWN_METHOD_TYPE_SIGNATURE -> a
+    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.GenericSignature$ReturnType returnType -> e
     1:4:void <clinit>():507:510 -> <clinit>
     1:8:void <init>(java.util.List,java.util.List,com.android.tools.r8.graph.GenericSignature$ReturnType,java.util.List):521:528 -> <init>
     1:4:com.android.tools.r8.graph.GenericSignature$TypeSignature getParameterTypeSignature(int):533:536 -> a
@@ -19671,15 +19666,15 @@
     com.android.tools.r8.graph.GenericSignature$MethodTypeSignature asMethodTypeSignature() -> f
     1:1:com.android.tools.r8.graph.GenericSignature$ReturnType returnType():540:540 -> g
 com.android.tools.r8.graph.GenericSignature$Parser -> com.android.tools.r8.graph.z0$k:
-    char[] buffer -> d
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.graph.AppView appView -> f
-    com.android.tools.r8.graph.DexClass currentClassContext -> g
-    char symbol -> a
-    int pos -> e
-    com.android.tools.r8.graph.DexType lastWrittenType -> h
-    java.lang.String identifier -> b
-    boolean eof -> c
+    com.android.tools.r8.graph.DexType lastWrittenType -> i
+    char[] buffer -> e
+    int pos -> f
+    com.android.tools.r8.graph.AppView appView -> g
+    char symbol -> b
+    com.android.tools.r8.graph.DexClass currentClassContext -> h
+    boolean $assertionsDisabled -> a
+    java.lang.String identifier -> c
+    boolean eof -> d
     1:1:void <clinit>():592:592 -> <clinit>
     1:69:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):675:743 -> <init>
     70:71:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):676:677 -> <init>
@@ -19687,18 +19682,18 @@
     8:15:com.android.tools.r8.graph.GenericSignature$Kind com.android.tools.r8.graph.GenericSignature$Kind.fromDexDefinition(com.android.tools.r8.graph.DexDefinition):566:573 -> a
     8:15:com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature toGenericSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView):610 -> a
     16:21:com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature toGenericSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView):611:616 -> a
-    22:22:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
+    22:22:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
     22:22:com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature toGenericSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView):617 -> a
     23:23:com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature toGenericSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView):616:616 -> a
     24:24:com.android.tools.r8.graph.GenericSignature$Kind com.android.tools.r8.graph.GenericSignature$Kind.fromDexDefinition(com.android.tools.r8.graph.DexDefinition):575:575 -> a
     24:24:com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature toGenericSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView):610 -> a
     25:30:com.android.tools.r8.graph.GenericSignature$ClassSignature toClassSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):625:630 -> a
     31:31:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature toFieldTypeSignature(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):635:635 -> a
-    32:32:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    32:32:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     32:32:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature toFieldTypeSignature(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):635 -> a
     33:38:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature toFieldTypeSignature(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):637:642 -> a
     39:39:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature toMethodTypeSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):647:647 -> a
-    40:40:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    40:40:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     40:40:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature toMethodTypeSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):647 -> a
     41:46:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature toMethodTypeSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):649:654 -> a
     47:55:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):682:690 -> a
@@ -19755,8 +19750,8 @@
     1:3:void <clinit>():736:738 -> <clinit>
     1:1:void <init>(java.lang.String,int):735:735 -> <init>
 com.android.tools.r8.graph.GenericSignature$ReturnType -> com.android.tools.r8.graph.z0$l:
-    com.android.tools.r8.graph.GenericSignature$ReturnType VOID -> b
-    com.android.tools.r8.graph.GenericSignature$TypeSignature typeSignature -> a
+    com.android.tools.r8.graph.GenericSignature$ReturnType VOID -> a
+    com.android.tools.r8.graph.GenericSignature$TypeSignature typeSignature -> b
     1:1:void <clinit>():489:489 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature):494:495 -> <init>
     1:1:boolean isVoidDescriptor():499:499 -> a
@@ -19774,8 +19769,8 @@
     com.android.tools.r8.graph.GenericSignature$TypeSignature toArrayTypeSignature(com.android.tools.r8.graph.AppView) -> a
     com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asFieldTypeSignature() -> b
 com.android.tools.r8.graph.GenericSignature$TypeVariableSignature -> com.android.tools.r8.graph.z0$o:
-    java.lang.String typeVariable -> b
-    boolean $assertionsDisabled -> c
+    java.lang.String typeVariable -> c
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():421:421 -> <clinit>
     1:1:void <init>(java.lang.String,com.android.tools.r8.graph.GenericSignature$1):421:421 -> <init>
     2:2:void <init>(java.lang.String):426:426 -> <init>
@@ -19795,35 +19790,37 @@
 com.android.tools.r8.graph.GraphLense -> com.android.tools.r8.graph.A0:
     1:1:void <clinit>():38:38 -> <clinit>
     1:1:void <init>():38:38 -> <init>
-    1:1:com.android.tools.r8.graph.GraphLense getIdentityLense():237:237 -> a
-    2:4:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteReferenceKeys(java.util.Map,java.util.function.Function):339:341 -> a
-    5:5:void lambda$rewriteReferenceKeys$0(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.util.function.Function,com.android.tools.r8.graph.DexReference,java.lang.Object):340:340 -> a
-    1:6:boolean assertDefinitionsNotModified(java.lang.Iterable):256:261 -> assertDefinitionsNotModified
-    1:11:boolean assertReferencesNotModified(java.lang.Iterable):267:277 -> assertReferencesNotModified
+    1:1:com.android.tools.r8.graph.GraphLense getIdentityLense():230:230 -> a
+    2:2:void lambda$rewriteReferenceKeys$0(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexReference,java.lang.Object):305:305 -> a
+    3:3:void lambda$rewriteFieldKeys$1(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexField,java.lang.Object):328:328 -> a
+    4:4:void lambda$rewriteTypeKeys$2(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexType,java.lang.Object):343:343 -> a
+    1:6:boolean assertDefinitionsNotModified(java.lang.Iterable):249:254 -> assertDefinitionsNotModified
+    1:5:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection):260:264 -> assertPinnedNotModified
+    1:11:boolean assertReferencesNotModified(java.lang.Iterable):268:278 -> assertReferencesNotModified
     1:1:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):144:144 -> getRenamedMethodSignature
-    1:1:boolean isIdentityLense():245:245 -> isIdentityLense
+    1:1:boolean isIdentityLense():238:238 -> isIdentityLense
     1:2:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod):183:184 -> lookupMethod
-    1:3:java.util.Set lookupMethodInAllContexts(com.android.tools.r8.graph.DexMethod):194:196 -> lookupMethodInAllContexts
-    1:7:com.android.tools.r8.graph.DexReference lookupReference(com.android.tools.r8.graph.DexReference):210:216 -> lookupReference
+    1:7:com.android.tools.r8.graph.DexReference lookupReference(com.android.tools.r8.graph.DexReference):203:209 -> lookupReference
     1:1:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):151:151 -> mapDexEncodedMethod
     2:10:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLense):158:166 -> mapDexEncodedMethod
-    11:11:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):411:411 -> mapDexEncodedMethod
+    11:11:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):418:418 -> mapDexEncodedMethod
     11:11:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLense):167 -> mapDexEncodedMethod
     12:12:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLense):168:168 -> mapDexEncodedMethod
     1:3:com.android.tools.r8.graph.ProgramMethod mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):174:176 -> mapProgramMethod
-    1:12:com.android.tools.r8.com.google.common.collect.ImmutableSortedSet rewriteMethodsConservatively(java.util.Set):323:334 -> rewriteMethodsConservatively
-    1:6:com.android.tools.r8.com.google.common.collect.ImmutableSortedSet rewriteMethodsWithRenamedSignature(java.util.Set):314:319 -> rewriteMethodsWithRenamedSignature
-    1:10:com.android.tools.r8.com.google.common.collect.ImmutableSet rewriteReferencesConservatively(java.util.Set):284:293 -> rewriteReferencesConservatively
-    11:20:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap rewriteReferencesConservatively(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):298:307 -> rewriteReferencesConservatively
-    1:1:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):233:233 -> verifyIsContextFreeForMethod
-    1:22:boolean verifyMappingToOriginalProgram(java.lang.Iterable,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexItemFactory):349:370 -> verifyMappingToOriginalProgram
-    23:125:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexField):0:102 -> verifyMappingToOriginalProgram
-    23:125:boolean verifyMappingToOriginalProgram(java.lang.Iterable,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexItemFactory):370 -> verifyMappingToOriginalProgram
-    126:136:boolean verifyMappingToOriginalProgram(java.lang.Iterable,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexItemFactory):373:383 -> verifyMappingToOriginalProgram
-    137:157:boolean verifyIsBridgeMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexApplication,java.util.Set,com.android.tools.r8.graph.DexItemFactory):402:422 -> verifyMappingToOriginalProgram
-    137:157:boolean verifyMappingToOriginalProgram(java.lang.Iterable,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexItemFactory):384 -> verifyMappingToOriginalProgram
-    158:162:boolean verifyMappingToOriginalProgram(java.lang.Iterable,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexItemFactory):383:387 -> verifyMappingToOriginalProgram
-    1:2:com.android.tools.r8.graph.GraphLense withCodeRewritingsApplied():249:250 -> withCodeRewritingsApplied
+    1:3:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteFieldKeys(java.util.Map):327:329 -> rewriteFieldKeys
+    1:6:com.android.tools.r8.com.google.common.collect.ImmutableSortedSet rewriteMethods(java.util.Set):318:323 -> rewriteMethods
+    1:8:com.android.tools.r8.graph.DexReference rewriteReference(com.android.tools.r8.graph.DexReference):285:292 -> rewriteReference
+    1:3:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteReferenceKeys(java.util.Map):304:306 -> rewriteReferenceKeys
+    4:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap rewriteReferenceKeys(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):310:312 -> rewriteReferenceKeys
+    1:3:java.util.Set rewriteReferences(java.util.Set):296:298 -> rewriteReferences
+    1:3:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteTypeKeys(java.util.Map):342:344 -> rewriteTypeKeys
+    1:6:com.android.tools.r8.com.google.common.collect.ImmutableSet rewriteTypes(java.util.Set):333:338 -> rewriteTypes
+    1:1:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):226:226 -> verifyIsContextFreeForMethod
+    1:22:boolean verifyMappingToOriginalProgram(java.lang.Iterable,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexItemFactory):352:373 -> verifyMappingToOriginalProgram
+    23:158:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexField):0:135 -> verifyMappingToOriginalProgram
+    23:158:boolean verifyMappingToOriginalProgram(java.lang.Iterable,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexItemFactory):373 -> verifyMappingToOriginalProgram
+    159:169:boolean verifyMappingToOriginalProgram(java.lang.Iterable,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexItemFactory):376:386 -> verifyMappingToOriginalProgram
+    1:2:com.android.tools.r8.graph.GraphLense withCodeRewritingsApplied():242:243 -> withCodeRewritingsApplied
 com.android.tools.r8.graph.GraphLense$1 -> com.android.tools.r8.graph.A0$a:
 com.android.tools.r8.graph.GraphLense$Builder -> com.android.tools.r8.graph.A0$b:
     java.util.Map typeMap -> a
@@ -19840,17 +19837,17 @@
     2:2:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):101:101 -> b
 com.android.tools.r8.graph.GraphLense$ClearCodeRewritingGraphLens -> com.android.tools.r8.graph.A0$c:
     com.android.tools.r8.graph.GraphLense previous -> b
-    1:2:void <init>(com.android.tools.r8.graph.GraphLense):500:501 -> <init>
-    1:1:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):511:511 -> getOriginalFieldSignature
-    1:1:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):516:516 -> getOriginalMethodSignature
-    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):506:506 -> getOriginalType
-    1:1:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):521:521 -> getRenamedFieldSignature
-    1:1:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLense):527:527 -> getRenamedMethodSignature
-    1:1:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult com.android.tools.r8.graph.GraphLense$IdentityGraphLense.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):470:470 -> lookupMethod
-    1:1:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):496 -> lookupMethod
-    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLense$IdentityGraphLense.lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):475:475 -> lookupPrototypeChanges
-    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):496 -> lookupPrototypeChanges
-    1:1:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):533:533 -> lookupType
+    1:2:void <init>(com.android.tools.r8.graph.GraphLense):465:466 -> <init>
+    1:1:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):476:476 -> getOriginalFieldSignature
+    1:1:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):481:481 -> getOriginalMethodSignature
+    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):471:471 -> getOriginalType
+    1:1:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):486:486 -> getRenamedFieldSignature
+    1:1:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLense):492:492 -> getRenamedMethodSignature
+    1:1:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult com.android.tools.r8.graph.GraphLense$IdentityGraphLense.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):435:435 -> lookupMethod
+    1:1:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):461 -> lookupMethod
+    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLense$IdentityGraphLense.lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):440:440 -> lookupPrototypeChanges
+    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):461 -> lookupPrototypeChanges
+    1:1:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):498:498 -> lookupType
 com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult -> com.android.tools.r8.graph.A0$d:
     com.android.tools.r8.ir.code.Invoke$Type type -> b
     com.android.tools.r8.graph.DexMethod method -> a
@@ -19859,34 +19856,33 @@
     1:1:com.android.tools.r8.ir.code.Invoke$Type getType():60:60 -> b
 com.android.tools.r8.graph.GraphLense$IdentityGraphLense -> com.android.tools.r8.graph.A0$e:
     com.android.tools.r8.graph.GraphLense$IdentityGraphLense INSTANCE -> a
-    1:1:void <clinit>():430:430 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.GraphLense$1):428:428 -> <init>
-    2:2:void <init>():432:432 -> <init>
-    1:1:com.android.tools.r8.graph.GraphLense$IdentityGraphLense access$000():428:428 -> b
-    1:1:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):470:470 -> lookupMethod
-    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):475:475 -> lookupPrototypeChanges
+    1:1:void <clinit>():395:395 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.GraphLense$1):393:393 -> <init>
+    2:2:void <init>():397:397 -> <init>
+    1:1:com.android.tools.r8.graph.GraphLense$IdentityGraphLense access$000():393:393 -> b
+    1:1:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):435:435 -> lookupMethod
+    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):440:440 -> lookupPrototypeChanges
 com.android.tools.r8.graph.GraphLense$NestedGraphLense -> com.android.tools.r8.graph.A0$f:
-    1:1:void <clinit>():547:547 -> <clinit>
-    1:1:void <init>(java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexItemFactory):575:575 -> <init>
-    2:26:void <init>(java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexItemFactory):553:577 -> <init>
-    27:35:void <init>(java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexItemFactory):576:584 -> <init>
-    1:4:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):603:606 -> getOriginalFieldSignature
-    1:4:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):612:615 -> getOriginalMethodSignature
-    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):597:597 -> getOriginalType
-    1:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):620:622 -> getRenamedFieldSignature
-    1:3:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLense):631:633 -> getRenamedMethodSignature
-    1:1:boolean isContextFreeForMethods():747:747 -> isContextFreeForMethods
-    1:2:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField):741:742 -> lookupField
-    1:1:com.android.tools.r8.graph.DexMethod lookupGetFieldForMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):684:684 -> lookupGetFieldForMethod
-    1:12:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):663:674 -> lookupMethod
-    1:3:java.util.Set lookupMethodInAllContexts(com.android.tools.r8.graph.DexMethod):732:734 -> lookupMethodInAllContexts
-    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):679:679 -> lookupPrototypeChanges
-    1:1:com.android.tools.r8.graph.DexMethod lookupPutFieldForMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):689:689 -> lookupPutFieldForMethod
-    1:19:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):639:657 -> lookupType
-    1:14:com.android.tools.r8.ir.code.Invoke$Type mapVirtualInterfaceInvocationTypes(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):712:725 -> mapVirtualInterfaceInvocationTypes
-    1:17:java.lang.String toString():758:774 -> toString
-    1:1:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):752:752 -> verifyIsContextFreeForMethod
-    1:4:java.lang.Object withAlternativeParentLens(com.android.tools.r8.graph.GraphLense,java.util.function.Supplier):588:591 -> withAlternativeParentLens
+    1:1:void <clinit>():512:512 -> <clinit>
+    1:1:void <init>(java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexItemFactory):540:540 -> <init>
+    2:26:void <init>(java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexItemFactory):518:542 -> <init>
+    27:35:void <init>(java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexItemFactory):541:549 -> <init>
+    1:4:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):568:571 -> getOriginalFieldSignature
+    1:4:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):577:580 -> getOriginalMethodSignature
+    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):562:562 -> getOriginalType
+    1:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):585:587 -> getRenamedFieldSignature
+    1:3:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLense):596:598 -> getRenamedMethodSignature
+    1:1:boolean isContextFreeForMethods():703:703 -> isContextFreeForMethods
+    1:2:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField):697:698 -> lookupField
+    1:1:com.android.tools.r8.graph.DexMethod lookupGetFieldForMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):649:649 -> lookupGetFieldForMethod
+    1:12:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):628:639 -> lookupMethod
+    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):644:644 -> lookupPrototypeChanges
+    1:1:com.android.tools.r8.graph.DexMethod lookupPutFieldForMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):654:654 -> lookupPutFieldForMethod
+    1:19:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):604:622 -> lookupType
+    1:14:com.android.tools.r8.ir.code.Invoke$Type mapVirtualInterfaceInvocationTypes(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):677:690 -> mapVirtualInterfaceInvocationTypes
+    1:17:java.lang.String toString():714:730 -> toString
+    1:1:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):708:708 -> verifyIsContextFreeForMethod
+    1:4:java.lang.Object withAlternativeParentLens(com.android.tools.r8.graph.GraphLense,java.util.function.Supplier):553:556 -> withAlternativeParentLens
 com.android.tools.r8.graph.IndexedDexItem -> com.android.tools.r8.graph.B0:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():10:10 -> <clinit>
@@ -19901,18 +19897,18 @@
     1:1:com.android.tools.r8.graph.DefaultInitClassLens getDefault():17:17 -> b
     boolean isFinal() -> c
 com.android.tools.r8.graph.InitClassLens$Builder -> com.android.tools.r8.graph.C0$a:
-    java.util.Map mapping -> a
-    boolean $assertionsDisabled -> b
+    java.util.Map mapping -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():26:26 -> <clinit>
     1:3:void <init>():26:28 -> <init>
     1:2:void map(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):31:32 -> a
     3:3:com.android.tools.r8.graph.FinalInitClassLens build():36:36 -> a
 com.android.tools.r8.graph.InnerClassAttribute -> com.android.tools.r8.graph.D0:
-    com.android.tools.r8.graph.DexString innerName -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.DexType outer -> c
-    com.android.tools.r8.graph.DexType inner -> b
-    int access -> a
+    com.android.tools.r8.graph.DexString innerName -> e
+    com.android.tools.r8.graph.DexType outer -> d
+    com.android.tools.r8.graph.DexType inner -> c
+    boolean $assertionsDisabled -> a
+    int access -> b
     1:1:void <clinit>():13:13 -> <clinit>
     1:6:void <init>(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):33:38 -> <init>
     1:1:com.android.tools.r8.graph.InnerClassAttribute createUnknownNamedInnerClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):30:30 -> a
@@ -19933,11 +19929,11 @@
     1:4:java.lang.String toString():108:111 -> toString
 com.android.tools.r8.graph.InstantiatedSubTypeInfo -> com.android.tools.r8.graph.E0:
 com.android.tools.r8.graph.JarApplicationReader -> com.android.tools.r8.graph.F0:
-    java.util.concurrent.ConcurrentHashMap stringCache -> d
-    com.android.tools.r8.utils.InternalOptions options -> a
-    java.util.concurrent.ConcurrentHashMap asmTypeCache -> c
-    java.util.concurrent.ConcurrentHashMap asmObjectTypeCache -> b
-    boolean $assertionsDisabled -> e
+    java.util.concurrent.ConcurrentHashMap stringCache -> e
+    java.util.concurrent.ConcurrentHashMap asmTypeCache -> d
+    java.util.concurrent.ConcurrentHashMap asmObjectTypeCache -> c
+    com.android.tools.r8.utils.InternalOptions options -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():20:20 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.InternalOptions):27:27 -> <init>
     2:7:void <init>(com.android.tools.r8.utils.InternalOptions):23:28 -> <init>
@@ -19967,10 +19963,10 @@
     5:5:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.org.objectweb.asm.Type):48:48 -> g
     5:5:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):53 -> g
 com.android.tools.r8.graph.JarClassFileReader -> com.android.tools.r8.graph.G0:
-    java.util.function.Consumer classConsumer -> b
-    com.android.tools.r8.graph.JarApplicationReader application -> a
-    byte[] CLASSFILE_HEADER -> c
-    boolean $assertionsDisabled -> d
+    byte[] CLASSFILE_HEADER -> a
+    java.util.function.Consumer classConsumer -> d
+    com.android.tools.r8.graph.JarApplicationReader application -> c
+    boolean $assertionsDisabled -> b
     1:3:void <clinit>():69:71 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.JarApplicationReader,java.util.function.Consumer):80:82 -> <init>
     1:1:int access$000(int):69:69 -> a
@@ -19983,7 +19979,7 @@
     10:10:void lambda$read$0(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassKind,byte[]):91 -> a
     11:28:void internalRead(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassKind,byte[]):100:117 -> a
     11:28:void lambda$read$0(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassKind,byte[]):91 -> a
-    29:29:void com.android.tools.r8.org.objectweb.asm.ClassReader.accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):400:400 -> a
+    29:29:void com.android.tools.r8.org.objectweb.asm.ClassReader.accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):401:401 -> a
     29:29:void internalRead(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassKind,byte[]):117 -> a
     29:29:void lambda$read$0(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassKind,byte[]):91 -> a
     30:36:void internalRead(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassKind,byte[]):122:128 -> a
@@ -20027,11 +20023,11 @@
     13:17:com.android.tools.r8.graph.DexEncodedAnnotation createEncodedAnnotation(java.lang.String,java.util.List,java.util.List,com.android.tools.r8.graph.JarApplicationReader):181:185 -> b
     1:1:com.android.tools.r8.graph.FieldAccessFlags createFieldAccessFlags(int):144:144 -> c
 com.android.tools.r8.graph.JarClassFileReader$CreateAnnotationVisitor -> com.android.tools.r8.graph.G0$a:
-    java.util.List values -> d
-    java.util.List names -> c
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.JarApplicationReader application -> a
-    java.util.function.BiConsumer onVisitEnd -> b
+    java.util.List values -> e
+    java.util.List names -> d
+    com.android.tools.r8.graph.JarApplicationReader application -> b
+    java.util.function.BiConsumer onVisitEnd -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():860:860 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.JarApplicationReader,java.util.function.BiConsumer):869:869 -> <init>
     2:9:void <init>(com.android.tools.r8.graph.JarApplicationReader,java.util.function.BiConsumer):864:871 -> <init>
@@ -20052,31 +20048,31 @@
     96:96:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1001 -> a
     96:96:void visit(java.lang.String,java.lang.Object):876 -> a
 com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor -> com.android.tools.r8.graph.G0$b:
-    com.android.tools.r8.graph.ClassKind classKind -> d
-    java.util.List annotations -> r
-    java.util.Set methodSignatures -> y
-    com.android.tools.r8.graph.ClassAccessFlags accessFlags -> j
-    int version -> h
-    java.util.List staticFields -> t
-    com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMember -> p
-    java.util.List virtualMethods -> x
-    com.android.tools.r8.origin.Origin origin -> c
-    java.util.function.Consumer classConsumer -> f
-    boolean $assertionsDisabled -> A
-    com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> g
-    com.android.tools.r8.graph.DexType superType -> k
-    java.util.List innerClasses -> q
-    com.android.tools.r8.graph.DexType type -> i
-    java.util.List nestMembers -> o
-    java.util.List instanceFields -> u
-    java.util.List defaultAnnotations -> s
-    java.util.Set fieldSignatures -> v
-    java.util.List directMethods -> w
-    com.android.tools.r8.graph.JarApplicationReader application -> e
-    boolean hasReachabilitySensitiveMethod -> z
-    com.android.tools.r8.graph.NestHostClassAttribute nestHost -> n
-    com.android.tools.r8.graph.DexTypeList interfaces -> l
-    com.android.tools.r8.graph.DexString sourceFile -> m
+    com.android.tools.r8.graph.DexType superType -> l
+    java.util.List innerClasses -> r
+    java.util.Set fieldSignatures -> w
+    com.android.tools.r8.graph.DexType type -> j
+    java.util.List nestMembers -> p
+    java.util.List instanceFields -> v
+    java.util.List defaultAnnotations -> t
+    java.util.List directMethods -> x
+    com.android.tools.r8.graph.JarApplicationReader application -> f
+    com.android.tools.r8.graph.NestHostClassAttribute nestHost -> o
+    com.android.tools.r8.graph.DexTypeList interfaces -> m
+    boolean hasReachabilitySensitiveMethod -> A
+    com.android.tools.r8.graph.DexString sourceFile -> n
+    com.android.tools.r8.graph.ClassKind classKind -> e
+    java.util.Set methodSignatures -> z
+    com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMember -> q
+    java.util.List staticFields -> u
+    com.android.tools.r8.graph.ClassAccessFlags accessFlags -> k
+    int version -> i
+    java.util.List annotations -> s
+    java.util.List virtualMethods -> y
+    com.android.tools.r8.origin.Origin origin -> d
+    java.util.function.Consumer classConsumer -> g
+    com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> h
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():188:188 -> <clinit>
     1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassKind,byte[],com.android.tools.r8.graph.JarApplicationReader,java.util.function.Consumer):223:223 -> <init>
     2:36:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassKind,byte[],com.android.tools.r8.graph.JarApplicationReader,java.util.function.Consumer):194:228 -> <init>
@@ -20187,16 +20183,16 @@
     2:4:void visitNestMember(java.lang.String):273:275 -> b
     5:8:java.util.List getAnnotations():511:514 -> b
     1:1:java.util.Set access$1200(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):188:188 -> c
-    2:2:void checkName(java.lang.String):466:466 -> c
-    3:3:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():40:40 -> c
-    3:3:void checkName(java.lang.String):466 -> c
-    4:6:void checkName(java.lang.String):466:468 -> c
-    7:7:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> c
-    7:7:void checkName(java.lang.String):468 -> c
-    8:8:void checkName(java.lang.String):468:468 -> c
-    9:9:int getMajorVersion():518:518 -> c
+    2:2:int getMajorVersion():518:518 -> c
     1:1:java.util.List access$1400(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):188:188 -> d
-    2:2:boolean isInANest():526:526 -> d
+    2:2:void checkName(java.lang.String):466:466 -> d
+    3:3:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():40:40 -> d
+    3:3:void checkName(java.lang.String):466 -> d
+    4:6:void checkName(java.lang.String):466:468 -> d
+    7:7:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> d
+    7:7:void checkName(java.lang.String):468 -> d
+    8:8:void checkName(java.lang.String):468:468 -> d
+    9:9:boolean isInANest():526:526 -> d
     1:1:java.util.List access$1500(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):188:188 -> e
     1:1:com.android.tools.r8.graph.JarApplicationReader access$300(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):188:188 -> f
     1:1:com.android.tools.r8.graph.DexType access$400(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):188:188 -> g
@@ -20206,13 +20202,13 @@
     1:1:com.android.tools.r8.graph.ClassKind access$800(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):188:188 -> k
     1:1:com.android.tools.r8.origin.Origin access$900(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):188:188 -> l
 com.android.tools.r8.graph.JarClassFileReader$CreateFieldVisitor -> com.android.tools.r8.graph.G0$c:
-    com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor parent -> b
-    java.lang.Object value -> f
-    boolean $assertionsDisabled -> h
-    java.util.List annotations -> g
-    int access -> c
-    java.lang.String desc -> e
-    java.lang.String name -> d
+    java.lang.String desc -> f
+    java.lang.Object value -> g
+    int access -> d
+    java.util.List annotations -> h
+    com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor parent -> c
+    boolean $assertionsDisabled -> b
+    java.lang.String name -> e
     1:1:void <clinit>():545:545 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):556:556 -> <init>
     2:14:void <init>(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):552:564 -> <init>
@@ -20235,19 +20231,19 @@
     56:59:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):570 -> a
     60:60:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):570:570 -> a
 com.android.tools.r8.graph.JarClassFileReader$CreateMethodVisitor -> com.android.tools.r8.graph.G0$d:
-    java.util.List parameterFlags -> r
-    int annotableParameterCount -> o
-    java.util.List parameterNames -> q
-    com.android.tools.r8.graph.Code code -> u
-    int parameterCount -> l
-    java.util.List parameterAnnotationsLists -> p
-    com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor parent -> k
-    java.lang.String name -> j
-    com.android.tools.r8.graph.DexValue defaultAnnotation -> n
-    boolean $assertionsDisabled -> v
-    com.android.tools.r8.graph.MethodAccessFlags flags -> t
-    com.android.tools.r8.graph.DexMethod method -> s
-    java.util.List annotations -> m
+    java.util.List parameterNames -> r
+    com.android.tools.r8.graph.Code code -> v
+    java.util.List parameterAnnotationsLists -> q
+    int parameterCount -> m
+    java.lang.String name -> k
+    com.android.tools.r8.graph.DexValue defaultAnnotation -> o
+    boolean $assertionsDisabled -> j
+    com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor parent -> l
+    java.util.List parameterFlags -> s
+    com.android.tools.r8.graph.MethodAccessFlags flags -> u
+    com.android.tools.r8.graph.DexMethod method -> t
+    java.util.List annotations -> n
+    int annotableParameterCount -> p
     1:1:void <clinit>():651:651 -> <clinit>
     1:1:void <init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):668:668 -> <init>
     2:26:void <init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):656:680 -> <init>
@@ -20272,8 +20268,8 @@
     1:2:void visitEnd():783:784 -> c
     3:5:boolean classRequiresCode():774:776 -> c
     3:5:void visitEnd():784 -> c
-    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> c
-    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1288 -> c
+    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> c
+    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1300 -> c
     6:6:boolean classRequiresCode():776 -> c
     6:6:void visitEnd():784 -> c
     7:9:boolean classRequiresCode():776:778 -> c
@@ -20312,34 +20308,34 @@
     java.util.List codeList -> c
     1:8:void <init>():1005:1012 -> <init>
 com.android.tools.r8.graph.LazyCfCode -> com.android.tools.r8.graph.N0:
-    com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> d
-    com.android.tools.r8.origin.Origin origin -> a
-    com.android.tools.r8.graph.CfCode code -> c
-    com.android.tools.r8.graph.JarApplicationReader application -> b
-    boolean reachabilitySensitive -> e
-    boolean $assertionsDisabled -> f
+    com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> e
+    com.android.tools.r8.origin.Origin origin -> b
+    com.android.tools.r8.graph.JarApplicationReader application -> c
+    com.android.tools.r8.graph.CfCode code -> d
+    boolean reachabilitySensitive -> f
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():87:87 -> <clinit>
     1:12:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader):96:107 -> <init>
     13:16:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader):97:100 -> <init>
     1:2:void markReachabilitySensitive():110:111 -> a
     3:3:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):165:165 -> a
-    4:27:com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions getParsingOptions(com.android.tools.r8.graph.JarApplicationReader,boolean):993:1016 -> a
-    4:27:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):165 -> a
-    28:28:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):167:167 -> a
-    29:29:java.util.function.BiFunction createCodeLocator(com.android.tools.r8.graph.JarClassFileReader$ReparseContext):262:262 -> a
-    29:29:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):170 -> a
-    30:35:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):170:175 -> a
-    36:36:void com.android.tools.r8.org.objectweb.asm.ClassReader.accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):400:400 -> a
-    36:36:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):175 -> a
-    37:41:void setCode(com.android.tools.r8.graph.CfCode):179:183 -> a
-    37:41:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):87 -> a
+    4:28:com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions getParsingOptions(com.android.tools.r8.graph.JarApplicationReader,boolean):993:1017 -> a
+    4:28:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):165 -> a
+    29:29:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):167:167 -> a
+    30:30:java.util.function.BiFunction createCodeLocator(com.android.tools.r8.graph.JarClassFileReader$ReparseContext):262:262 -> a
+    30:30:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):170 -> a
+    31:36:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):170:175 -> a
+    37:37:void com.android.tools.r8.org.objectweb.asm.ClassReader.accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):401:401 -> a
+    37:37:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):175 -> a
+    38:42:void setCode(com.android.tools.r8.graph.CfCode):179:183 -> a
+    38:42:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):87 -> a
     1:21:com.android.tools.r8.graph.CfCode asCfCode():126:146 -> asCfCode
-    22:28:boolean verifyNoReparseContext(com.android.tools.r8.graph.DexClass):1026:1032 -> asCfCode
+    22:28:boolean verifyNoReparseContext(com.android.tools.r8.graph.DexClass):1027:1033 -> asCfCode
     22:28:com.android.tools.r8.graph.CfCode asCfCode():146 -> asCfCode
     29:35:com.android.tools.r8.graph.CfCode asCfCode():143:149 -> asCfCode
     1:1:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):213:213 -> buildIR
     1:2:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueNumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.conversion.MethodProcessor):225:226 -> buildInliningIR
-    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):1040:1040 -> collectParameterInfo
+    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):1041:1041 -> collectParameterInfo
     1:1:boolean computeEquals(java.lang.Object):193:193 -> computeEquals
     1:1:int computeHashCode():188:188 -> computeHashCode
     1:1:int estimatedSizeForInlining():203:203 -> estimatedSizeForInlining
@@ -20350,7 +20346,7 @@
     1:1:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):243:243 -> registerCodeReferencesForDesugaring
     1:1:java.lang.String toString():253:253 -> toString
     2:2:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):258:258 -> toString
-    1:1:boolean verifyNoInputReaders():1021:1021 -> verifyNoInputReaders
+    1:1:boolean verifyNoInputReaders():1022:1022 -> verifyNoInputReaders
 com.android.tools.r8.graph.LazyCfCode$1 -> com.android.tools.r8.graph.H0:
 com.android.tools.r8.graph.LazyCfCode$ClassCodeVisitor -> com.android.tools.r8.graph.I0:
     java.util.function.BiFunction codeLocator -> d
@@ -20378,20 +20374,20 @@
 com.android.tools.r8.graph.LazyCfCode$JsrEncountered -> com.android.tools.r8.graph.L0:
     1:1:void <init>(java.lang.String):91:91 -> <init>
 com.android.tools.r8.graph.LazyCfCode$MethodCodeVisitor -> com.android.tools.r8.graph.M0:
-    int maxLocals -> n
-    java.util.List localVariables -> q
-    java.util.Map canonicalDebugLocalInfo -> r
-    java.util.List tryCatchRanges -> p
-    java.util.Map labelMap -> s
-    int maxStack -> m
-    java.util.List instructions -> o
-    com.android.tools.r8.graph.LazyCfCode code -> t
-    com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions debugParsingOptions -> l
-    boolean $assertionsDisabled -> w
-    com.android.tools.r8.graph.DexItemFactory factory -> k
-    com.android.tools.r8.origin.Origin origin -> v
-    com.android.tools.r8.graph.DexMethod method -> u
-    com.android.tools.r8.graph.JarApplicationReader application -> j
+    int maxStack -> n
+    java.util.List localVariables -> r
+    int maxLocals -> o
+    java.util.List tryCatchRanges -> q
+    java.util.List instructions -> p
+    java.util.Map canonicalDebugLocalInfo -> s
+    java.util.Map labelMap -> t
+    boolean $assertionsDisabled -> j
+    com.android.tools.r8.graph.LazyCfCode code -> u
+    com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions debugParsingOptions -> m
+    com.android.tools.r8.origin.Origin origin -> w
+    com.android.tools.r8.graph.DexMethod method -> v
+    com.android.tools.r8.graph.DexItemFactory factory -> l
+    com.android.tools.r8.graph.JarApplicationReader application -> k
     1:1:void <clinit>():326:326 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions):347:347 -> <init>
     2:21:void <init>(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions):335:354 -> <init>
@@ -20670,10 +20666,10 @@
     9:38:void visitVarInsn(int,int):699:728 -> d
     39:39:void visitVarInsn(int,int):719:719 -> d
 com.android.tools.r8.graph.LazyLoadedDexApplication -> com.android.tools.r8.graph.O0:
-    com.android.tools.r8.utils.LibraryClassCollection libraryClasses -> k
-    boolean $assertionsDisabled -> l
-    com.android.tools.r8.utils.ClasspathClassCollection classpathClasses -> j
-    com.android.tools.r8.utils.ProgramClassCollection programClasses -> i
+    boolean $assertionsDisabled -> i
+    com.android.tools.r8.utils.LibraryClassCollection libraryClasses -> l
+    com.android.tools.r8.utils.ProgramClassCollection programClasses -> j
+    com.android.tools.r8.utils.ClasspathClassCollection classpathClasses -> k
     1:1:void <clinit>():24:24 -> <clinit>
     1:1:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.utils.ProgramClassCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.ClasspathClassCollection,com.android.tools.r8.utils.LibraryClassCollection,com.android.tools.r8.com.google.common.collect.ImmutableSet,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.LazyLoadedDexApplication$1):24:24 -> <init>
     2:11:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.utils.ProgramClassCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.ClasspathClassCollection,com.android.tools.r8.utils.LibraryClassCollection,com.android.tools.r8.com.google.common.collect.ImmutableSet,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):41:50 -> <init>
@@ -20693,10 +20689,10 @@
     1:1:java.lang.String toString():258:258 -> toString
 com.android.tools.r8.graph.LazyLoadedDexApplication$1 -> com.android.tools.r8.graph.O0$a:
 com.android.tools.r8.graph.LazyLoadedDexApplication$AllClasses -> com.android.tools.r8.graph.O0$b:
-    com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> b
-    com.android.tools.r8.com.google.common.collect.ImmutableList programClasses -> a
-    boolean $assertionsDisabled -> d
-    com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.com.google.common.collect.ImmutableList programClasses -> b
+    com.android.tools.r8.com.google.common.collect.ImmutableList libraryClasses -> d
+    com.android.tools.r8.com.google.common.collect.ImmutableList classpathClasses -> c
     1:1:void <clinit>():91:91 -> <clinit>
     1:44:void <init>(com.android.tools.r8.utils.LibraryClassCollection,com.android.tools.r8.utils.ClasspathClassCollection,com.android.tools.r8.utils.ProgramClassCollection,com.android.tools.r8.utils.InternalOptions):104:147 -> <init>
     45:45:void <init>(com.android.tools.r8.utils.LibraryClassCollection,com.android.tools.r8.utils.ClasspathClassCollection,com.android.tools.r8.utils.ProgramClassCollection,com.android.tools.r8.utils.InternalOptions):146:146 -> <init>
@@ -20719,10 +20715,10 @@
     com.android.tools.r8.graph.DexApplication$Builder self() -> e
     1:7:com.android.tools.r8.graph.LazyLoadedDexApplication build():228:234 -> f
 com.android.tools.r8.graph.LookupCompletenessHelper -> com.android.tools.r8.graph.P0:
-    java.util.Set pinnedMethods -> c
-    com.android.tools.r8.graph.PinnedPredicate pinnedPredicate -> a
-    java.util.Set pinnedInstantiations -> b
-    boolean $assertionsDisabled -> d
+    java.util.Set pinnedInstantiations -> c
+    java.util.Set pinnedMethods -> d
+    com.android.tools.r8.graph.PinnedPredicate pinnedPredicate -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.PinnedPredicate):19:20 -> <init>
     1:5:void checkClass(com.android.tools.r8.graph.DexClass):24:28 -> a
@@ -20732,15 +20728,15 @@
     13:21:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):48:56 -> a
     22:23:boolean isMethodKeptInSuperTypeOrIsLibrary(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):66:67 -> a
     22:23:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):57 -> a
-    24:24:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):401:401 -> a
+    24:24:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):399:399 -> a
     24:24:boolean isMethodKeptInSuperTypeOrIsLibrary(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):71 -> a
     24:24:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):57 -> a
     25:31:boolean isMethodKeptInSuperTypeOrIsLibrary(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):73:79 -> a
     25:31:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):57 -> a
     32:35:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):58:61 -> a
 com.android.tools.r8.graph.LookupLambdaTarget -> com.android.tools.r8.graph.Q0:
-    boolean $assertionsDisabled -> b
-    com.android.tools.r8.graph.DexClassAndMethod method -> a
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexClassAndMethod method -> b
     1:1:void <clinit>():8:8 -> <clinit>
     1:5:void <init>(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexClassAndMethod):12:16 -> <init>
     boolean isLambdaTarget() -> a
@@ -20762,10 +20758,10 @@
     boolean isLookupResultFailure() -> b
     1:1:com.android.tools.r8.graph.LookupResult$LookupResultFailure access$100():140:140 -> d
 com.android.tools.r8.graph.LookupResult$LookupResultSuccess -> com.android.tools.r8.graph.R0$c:
-    java.util.Map methodTargets -> a
-    java.util.List lambdaTargets -> b
-    com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState state -> c
-    com.android.tools.r8.graph.LookupResult$LookupResultSuccess EMPTY_INSTANCE -> d
+    java.util.Map methodTargets -> b
+    com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState state -> d
+    java.util.List lambdaTargets -> c
+    com.android.tools.r8.graph.LookupResult$LookupResultSuccess EMPTY_INSTANCE -> a
     1:4:void <clinit>():55:58 -> <clinit>
     1:1:void <init>(java.util.Map,java.util.List,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState,com.android.tools.r8.graph.LookupResult$1):53:53 -> <init>
     2:5:void <init>(java.util.Map,java.util.List,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState):68:71 -> <init>
@@ -20837,9 +20833,9 @@
     5:5:void unsetDeclaredSynchronized():210:210 -> f
     5:5:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):93 -> f
 com.android.tools.r8.graph.MethodArrayBacking -> com.android.tools.r8.graph.U0:
-    com.android.tools.r8.graph.DexEncodedMethod[] virtualMethods -> b
-    com.android.tools.r8.graph.DexEncodedMethod[] directMethods -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexEncodedMethod[] virtualMethods -> c
+    com.android.tools.r8.graph.DexEncodedMethod[] directMethods -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():20:20 -> <clinit>
     1:4:void <init>():20:23 -> <init>
     1:2:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):29:30 -> a
@@ -20847,23 +20843,23 @@
     3:4:java.lang.Iterable directMethods():20 -> a
     5:13:void addDirectMethods(java.util.Collection):86:94 -> a
     14:15:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):117:118 -> a
-    16:170:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:154 -> a
-    16:170:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):118 -> a
-    171:171:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):119:119 -> a
-    172:173:void removeMethods(java.util.Set):127:128 -> a
-    174:180:com.android.tools.r8.graph.DexEncodedMethod[] removeMethodsHelper(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod[]):133:139 -> a
-    181:185:com.android.tools.r8.graph.DexEncodedMethod removeMethodWithIndex(int,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):144:148 -> a
-    186:187:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):154:155 -> a
-    188:188:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):212:212 -> a
-    189:343:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:154 -> a
-    189:343:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):213 -> a
-    344:344:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):222:222 -> a
-    345:347:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):264:266 -> a
-    348:349:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):272:273 -> a
-    350:504:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:154 -> a
-    350:504:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):274 -> a
-    505:507:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):275:277 -> a
-    508:514:void replaceDirectMethods(java.util.function.Function):309:315 -> a
+    16:203:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:187 -> a
+    16:203:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):118 -> a
+    204:204:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):119:119 -> a
+    205:206:void removeMethods(java.util.Set):127:128 -> a
+    207:213:com.android.tools.r8.graph.DexEncodedMethod[] removeMethodsHelper(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod[]):133:139 -> a
+    214:218:com.android.tools.r8.graph.DexEncodedMethod removeMethodWithIndex(int,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):144:148 -> a
+    219:220:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):154:155 -> a
+    221:221:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):212:212 -> a
+    222:409:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:187 -> a
+    222:409:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):213 -> a
+    410:410:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):222:222 -> a
+    411:413:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):264:266 -> a
+    414:415:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):272:273 -> a
+    416:603:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:187 -> a
+    416:603:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):274 -> a
+    604:606:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):275:277 -> a
+    607:613:void replaceDirectMethods(java.util.function.Function):309:315 -> a
     1:1:java.lang.Iterable methods():75:75 -> b
     2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> b
     2:2:java.lang.Iterable methods():75 -> b
@@ -20874,20 +20870,20 @@
     38:39:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):242:243 -> b
     40:43:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):248:251 -> b
     44:45:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):287:288 -> b
-    46:200:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:154 -> b
-    46:200:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):289 -> b
-    201:205:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):290:294 -> b
-    206:207:void replaceMethods(java.util.function.Function):303:304 -> b
+    46:233:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:187 -> b
+    46:233:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):289 -> b
+    234:238:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):290:294 -> b
+    239:240:void replaceMethods(java.util.function.Function):303:304 -> b
     1:1:int numberOfDirectMethods():43:43 -> c
     2:2:void lambda$removeMethod$1(com.android.tools.r8.graph.DexEncodedMethod[]):101:101 -> c
     3:3:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):227:227 -> c
-    4:158:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:154 -> c
-    4:158:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):228 -> c
-    159:159:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):257:257 -> c
-    160:160:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):28:28 -> c
-    160:160:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):257 -> c
-    161:163:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):257:259 -> c
-    164:169:void replaceVirtualMethods(java.util.function.Function):322:327 -> c
+    4:191:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:187 -> c
+    4:191:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):228 -> c
+    192:192:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):257:257 -> c
+    193:193:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):28:28 -> c
+    193:193:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):257 -> c
+    194:196:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):257:259 -> c
+    197:202:void replaceVirtualMethods(java.util.function.Function):322:327 -> c
     1:1:int numberOfVirtualMethods():48:48 -> d
     2:14:com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function):58:70 -> d
     15:25:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):99:109 -> d
@@ -20904,10 +20900,10 @@
     3:3:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):44:44 -> h
     3:3:boolean verifyNoDuplicateMethods():27 -> h
 com.android.tools.r8.graph.MethodCollection -> com.android.tools.r8.graph.V0:
-    com.android.tools.r8.graph.DexClass holder -> a
-    com.android.tools.r8.graph.MethodCollectionBacking backing -> b
-    com.android.tools.r8.graph.DexEncodedMethod cachedClassInitializer -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexClass holder -> b
+    com.android.tools.r8.graph.MethodCollectionBacking backing -> c
+    com.android.tools.r8.graph.DexEncodedMethod cachedClassInitializer -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[]):27:27 -> <init>
     2:13:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[]):24:35 -> <init>
@@ -21071,8 +21067,8 @@
     boolean verify() -> f
     java.lang.Iterable virtualMethods() -> g
 com.android.tools.r8.graph.MethodMapBacking -> com.android.tools.r8.graph.X0:
-    boolean $assertionsDisabled -> b
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap methodMap -> a
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap methodMap -> b
     1:1:void <clinit>():21:21 -> <clinit>
     1:1:void <init>():26:26 -> <init>
     2:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap):29:30 -> <init>
@@ -21093,37 +21089,37 @@
     10:10:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):291 -> a
     11:13:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):294:296 -> a
     14:14:void lambda$verify$1(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):73:73 -> a
-    15:169:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:154 -> a
-    15:169:void lambda$verify$1(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):73 -> a
-    170:170:void lambda$verify$1(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):73:73 -> a
-    171:171:java.lang.Iterable directMethods():121:121 -> a
-    172:172:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131:131 -> a
-    172:172:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):149 -> a
-    173:173:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> a
-    173:173:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131 -> a
-    173:173:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):149 -> a
-    174:174:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131:131 -> a
-    174:174:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):149 -> a
-    175:175:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):150:150 -> a
-    176:180:com.android.tools.r8.utils.TraversalContinuation lambda$getMethod$4(java.util.function.Predicate,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexEncodedMethod):138:142 -> a
-    181:182:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):155:156 -> a
-    183:184:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):180:181 -> a
-    185:185:void addDirectMethods(java.util.Collection):192:192 -> a
-    186:187:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):180:181 -> a
-    186:187:void addDirectMethods(java.util.Collection):193 -> a
-    188:188:void removeMethods(java.util.Set):211:211 -> a
-    189:193:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):216:220 -> a
-    194:194:int size():100:100 -> a
-    194:194:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):223 -> a
-    195:196:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):223:224 -> a
-    197:197:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):44:44 -> a
-    197:197:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):224 -> a
-    198:200:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):230:232 -> a
-    201:201:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> a
-    201:201:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):232 -> a
-    202:204:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):232:234 -> a
-    205:205:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceDirectMethods$8(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):278:278 -> a
-    206:206:void replaceDirectMethods(java.util.function.Function):278:278 -> a
+    15:202:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:187 -> a
+    15:202:void lambda$verify$1(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):73 -> a
+    203:203:void lambda$verify$1(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):73:73 -> a
+    204:204:java.lang.Iterable directMethods():121:121 -> a
+    205:205:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131:131 -> a
+    205:205:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):149 -> a
+    206:206:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> a
+    206:206:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131 -> a
+    206:206:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):149 -> a
+    207:207:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131:131 -> a
+    207:207:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):149 -> a
+    208:208:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):150:150 -> a
+    209:213:com.android.tools.r8.utils.TraversalContinuation lambda$getMethod$4(java.util.function.Predicate,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexEncodedMethod):138:142 -> a
+    214:215:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):155:156 -> a
+    216:217:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):180:181 -> a
+    218:218:void addDirectMethods(java.util.Collection):192:192 -> a
+    219:220:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):180:181 -> a
+    219:220:void addDirectMethods(java.util.Collection):193 -> a
+    221:221:void removeMethods(java.util.Set):211:211 -> a
+    222:226:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):216:220 -> a
+    227:227:int size():100:100 -> a
+    227:227:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):223 -> a
+    228:229:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):223:224 -> a
+    230:230:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):44:44 -> a
+    230:230:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):224 -> a
+    231:233:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):230:232 -> a
+    234:234:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> a
+    234:234:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):232 -> a
+    235:237:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):232:234 -> a
+    238:238:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceDirectMethods$8(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):278:278 -> a
+    239:239:void replaceDirectMethods(java.util.function.Function):278:278 -> a
     1:1:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):28:28 -> b
     1:1:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceVirtualMethods$9(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):283 -> b
     2:2:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceVirtualMethods$9(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):283:283 -> b
@@ -21134,53 +21130,53 @@
     5:5:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):305 -> b
     6:8:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):308:310 -> b
     9:9:void replace(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):53:53 -> b
-    10:164:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:154 -> b
-    10:164:void replace(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):53 -> b
-    165:168:void replace(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):54:57 -> b
-    169:169:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
-    169:169:void replace(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):57 -> b
-    170:170:void replace(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):57:57 -> b
-    171:171:java.lang.Iterable methods():116:116 -> b
-    172:172:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131:131 -> b
-    173:173:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
-    173:173:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131 -> b
-    174:174:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131:131 -> b
-    175:176:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate):167:168 -> b
-    177:177:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):173:173 -> b
-    178:178:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
-    178:178:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):173 -> b
-    179:180:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):174:175 -> b
-    181:182:void addVirtualMethods(java.util.Collection):199:200 -> b
-    183:187:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):239:243 -> b
-    188:188:int size():100:100 -> b
-    188:188:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):246 -> b
-    189:190:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):246:247 -> b
-    191:191:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):44:44 -> b
-    191:191:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):247 -> b
-    192:194:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):253:255 -> b
-    195:195:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
-    195:195:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):255 -> b
-    196:198:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):255:257 -> b
-    199:200:void lambda$setVirtualMethods$7(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap,com.android.tools.r8.graph.DexEncodedMethod):249:250 -> b
-    201:201:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
-    201:201:void lambda$setVirtualMethods$7(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap,com.android.tools.r8.graph.DexEncodedMethod):250 -> b
-    202:202:void lambda$setVirtualMethods$7(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap,com.android.tools.r8.graph.DexEncodedMethod):250:250 -> b
-    203:207:void replaceMethods(java.util.function.Function):264:268 -> b
-    208:210:void rehash():62:64 -> b
-    208:210:void replaceMethods(java.util.function.Function):272 -> b
+    10:197:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:187 -> b
+    10:197:void replace(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):53 -> b
+    198:201:void replace(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):54:57 -> b
+    202:202:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
+    202:202:void replace(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):57 -> b
+    203:203:void replace(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.graph.DexEncodedMethod):57:57 -> b
+    204:204:java.lang.Iterable methods():116:116 -> b
+    205:205:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131:131 -> b
+    206:206:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
+    206:206:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131 -> b
+    207:207:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131:131 -> b
+    208:209:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate):167:168 -> b
+    210:210:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):173:173 -> b
     211:211:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
-    211:211:void rehash():64 -> b
-    211:211:void replaceMethods(java.util.function.Function):272 -> b
-    212:214:void rehash():64:66 -> b
-    212:214:void replaceMethods(java.util.function.Function):272 -> b
-    215:215:void virtualizeMethods(java.util.Set):317:317 -> b
-    216:218:boolean verifyVirtualizedMethods(java.util.Set):321:323 -> b
-    216:218:void virtualizeMethods(java.util.Set):317 -> b
-    219:219:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
-    219:219:boolean verifyVirtualizedMethods(java.util.Set):323 -> b
-    219:219:void virtualizeMethods(java.util.Set):317 -> b
-    220:220:boolean verifyVirtualizedMethods(java.util.Set):323:323 -> b
-    220:220:void virtualizeMethods(java.util.Set):317 -> b
+    211:211:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):173 -> b
+    212:213:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):174:175 -> b
+    214:215:void addVirtualMethods(java.util.Collection):199:200 -> b
+    216:220:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):239:243 -> b
+    221:221:int size():100:100 -> b
+    221:221:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):246 -> b
+    222:223:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):246:247 -> b
+    224:224:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):44:44 -> b
+    224:224:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):247 -> b
+    225:227:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):253:255 -> b
+    228:228:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
+    228:228:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):255 -> b
+    229:231:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):255:257 -> b
+    232:233:void lambda$setVirtualMethods$7(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap,com.android.tools.r8.graph.DexEncodedMethod):249:250 -> b
+    234:234:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
+    234:234:void lambda$setVirtualMethods$7(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap,com.android.tools.r8.graph.DexEncodedMethod):250 -> b
+    235:235:void lambda$setVirtualMethods$7(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap,com.android.tools.r8.graph.DexEncodedMethod):250:250 -> b
+    236:240:void replaceMethods(java.util.function.Function):264:268 -> b
+    241:243:void rehash():62:64 -> b
+    241:243:void replaceMethods(java.util.function.Function):272 -> b
+    244:244:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
+    244:244:void rehash():64 -> b
+    244:244:void replaceMethods(java.util.function.Function):272 -> b
+    245:247:void rehash():64:66 -> b
+    245:247:void replaceMethods(java.util.function.Function):272 -> b
+    248:248:void virtualizeMethods(java.util.Set):317:317 -> b
+    249:251:boolean verifyVirtualizedMethods(java.util.Set):321:323 -> b
+    249:251:void virtualizeMethods(java.util.Set):317 -> b
+    252:252:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.DexMethod):49:49 -> b
+    252:252:boolean verifyVirtualizedMethods(java.util.Set):323 -> b
+    252:252:void virtualizeMethods(java.util.Set):317 -> b
+    253:253:boolean verifyVirtualizedMethods(java.util.Set):323:323 -> b
+    253:253:void virtualizeMethods(java.util.Set):317 -> b
     1:1:int numberOfDirectMethods():80:80 -> c
     2:2:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):131:131 -> c
     2:2:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):161 -> c
@@ -21220,27 +21216,27 @@
     1:1:java.util.Iterator lambda$directMethods$2():121:121 -> j
     1:1:java.util.Iterator lambda$virtualMethods$3():126:126 -> k
 com.android.tools.r8.graph.NestHostClassAttribute -> com.android.tools.r8.graph.Y0:
-    com.android.tools.r8.graph.DexType nestHost -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexType nestHost -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():10:10 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexType):14:15 -> <init>
     1:1:com.android.tools.r8.graph.DexType getNestHost():19:19 -> a
     2:3:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):23:24 -> a
 com.android.tools.r8.graph.NestMemberClassAttribute -> com.android.tools.r8.graph.Z0:
-    com.android.tools.r8.graph.DexType nestMember -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexType nestMember -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():10:10 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexType):14:15 -> <init>
     1:1:com.android.tools.r8.graph.DexType getNestMember():19:19 -> a
     2:3:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):23:24 -> a
 com.android.tools.r8.graph.ObjectAllocationInfoCollection -> com.android.tools.r8.graph.a1:
 com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl -> com.android.tools.r8.graph.d1:
-    java.util.Map classesWithAllocationSiteTracking -> a
-    java.util.Map instantiatedLambdas -> d
-    java.util.Set interfacesWithUnknownSubtypeHierarchy -> c
-    boolean $assertionsDisabled -> f
-    java.util.Set classesWithoutAllocationSiteTracking -> b
-    java.util.Map instantiatedHierarchy -> e
+    java.util.Map classesWithAllocationSiteTracking -> b
+    java.util.Set classesWithoutAllocationSiteTracking -> c
+    java.util.Set interfacesWithUnknownSubtypeHierarchy -> d
+    boolean $assertionsDisabled -> a
+    java.util.Map instantiatedLambdas -> e
+    java.util.Map instantiatedHierarchy -> f
     1:1:void <clinit>():31:31 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1):31:31 -> <init>
     2:2:void <init>():59:59 -> <init>
@@ -21263,8 +21259,8 @@
     1:1:boolean isInterfaceWithUnknownSubtypeHierarchy(com.android.tools.r8.graph.DexProgramClass):110:110 -> d
 com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1 -> com.android.tools.r8.graph.b1:
 com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder -> com.android.tools.r8.graph.d1$a:
-    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data data -> g
-    boolean $assertionsDisabled -> h
+    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data data -> h
+    boolean $assertionsDisabled -> g
     1:1:void <clinit>():213:213 -> <clinit>
     1:1:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1):213:213 -> <init>
     2:3:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter):229:230 -> <init>
@@ -21275,7 +21271,7 @@
     14:26:boolean recordDirectAllocationSite(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.AppInfo):283 -> a
     27:36:boolean recordDirectAllocationSite(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.AppInfo):284:293 -> a
     37:37:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):300:300 -> a
-    38:38:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> a
+    38:38:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> a
     38:38:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):301 -> a
     39:41:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):301:303 -> a
     42:42:void recordInstantiatedLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfo):311:311 -> a
@@ -21322,18 +21318,18 @@
     1:1:boolean access$300(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data):215:215 -> a
     1:1:com.android.tools.r8.shaking.GraphReporter access$400(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data):215:215 -> b
 com.android.tools.r8.graph.ObjectToOffsetMapping -> com.android.tools.r8.graph.e1:
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap methodHandles -> j
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap strings -> h
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap callSites -> i
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap methods -> f
-    boolean $assertionsDisabled -> l
-    com.android.tools.r8.naming.NamingLens namingLens -> a
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap fields -> g
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap protos -> d
-    com.android.tools.r8.graph.DexProgramClass[] classes -> c
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap types -> e
-    com.android.tools.r8.graph.DexString firstJumboString -> k
-    com.android.tools.r8.graph.InitClassLens initClassLens -> b
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap callSites -> j
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap methodHandles -> k
+    com.android.tools.r8.naming.NamingLens namingLens -> b
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap fields -> h
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap strings -> i
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap types -> f
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap methods -> g
+    com.android.tools.r8.graph.DexProgramClass[] classes -> d
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap protos -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.InitClassLens initClassLens -> c
+    com.android.tools.r8.graph.DexString firstJumboString -> l
     1:1:void <clinit>():21:21 -> <clinit>
     1:21:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.InitClassLens,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection):52:72 -> <init>
     1:1:java.util.Comparator compare(com.android.tools.r8.naming.NamingLens):76:76 -> a
@@ -21378,15 +21374,15 @@
     2:6:void <init>(com.android.tools.r8.graph.DexApplication):118:122 -> <init>
     1:22:int getDepth(com.android.tools.r8.graph.DexProgramClass):126:147 -> a
 com.android.tools.r8.graph.OffsetToObjectMapping -> com.android.tools.r8.graph.f1:
-    com.android.tools.r8.graph.DexProto[] protos -> c
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.graph.DexMethodHandle[] methodHandles -> h
-    com.android.tools.r8.graph.DexMethod[] methods -> b
-    com.android.tools.r8.graph.DexField[] fields -> d
-    com.android.tools.r8.graph.DexString[] strings -> f
-    com.android.tools.r8.graph.DexCallSite[] callSites -> g
-    com.android.tools.r8.graph.DexProgramClass[] classes -> a
-    com.android.tools.r8.graph.DexType[] types -> e
+    com.android.tools.r8.graph.DexProto[] protos -> d
+    com.android.tools.r8.graph.DexMethod[] methods -> c
+    com.android.tools.r8.graph.DexMethodHandle[] methodHandles -> i
+    com.android.tools.r8.graph.DexField[] fields -> e
+    com.android.tools.r8.graph.DexString[] strings -> g
+    com.android.tools.r8.graph.DexCallSite[] callSites -> h
+    com.android.tools.r8.graph.DexProgramClass[] classes -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexType[] types -> f
     1:1:void <clinit>():6:6 -> <clinit>
     1:1:void <init>():6:6 -> <init>
     1:2:com.android.tools.r8.graph.DexCallSite[] getCallSiteMap():88:89 -> a
@@ -21418,10 +21414,10 @@
     1:2:void initializeStrings(int):43:44 -> m
     1:2:void initializeTypes(int):38:39 -> n
 com.android.tools.r8.graph.ParameterAnnotationsList -> com.android.tools.r8.graph.g1:
-    com.android.tools.r8.graph.ParameterAnnotationsList EMPTY_PARAMETER_ANNOTATIONS_LIST -> c
-    com.android.tools.r8.graph.DexAnnotationSet[] values -> a
-    int missingParameterAnnotations -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.ParameterAnnotationsList EMPTY_PARAMETER_ANNOTATIONS_LIST -> a
+    com.android.tools.r8.graph.DexAnnotationSet[] values -> c
+    int missingParameterAnnotations -> d
+    boolean $assertionsDisabled -> b
     1:3:void <clinit>():38:40 -> <clinit>
     1:3:void <init>():50:52 -> <init>
     4:7:void <init>(com.android.tools.r8.graph.DexAnnotationSet[],int):59:62 -> <init>
@@ -21463,7 +21459,7 @@
     1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):10:10 -> <init>
     com.android.tools.r8.graph.ProgramField asProgramField() -> a
     1:1:com.android.tools.r8.graph.DexClass getHolder():7:7 -> c
-    1:3:com.android.tools.r8.graph.DexProgramClass getHolder():29:31 -> e
+    1:3:com.android.tools.r8.graph.DexProgramClass getHolder():29:31 -> f
 com.android.tools.r8.graph.ProgramMethod -> com.android.tools.r8.graph.l1:
     boolean $assertionsDisabled -> d
     1:1:void <clinit>():14:14 -> <clinit>
@@ -21567,10 +21563,10 @@
     1:1:void <clinit>():831:831 -> <clinit>
     1:1:void <init>():829:829 -> <init>
 com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult -> com.android.tools.r8.graph.m1$j:
-    com.android.tools.r8.graph.DexClass initialResolutionHolder -> a
-    com.android.tools.r8.graph.DexClass resolvedHolder -> b
-    com.android.tools.r8.graph.DexEncodedMethod resolvedMethod -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexClass initialResolutionHolder -> b
+    com.android.tools.r8.graph.DexEncodedMethod resolvedMethod -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexClass resolvedHolder -> c
     1:1:void <clinit>():119:119 -> <clinit>
     1:10:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):127:136 -> <init>
     11:11:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):135:135 -> <init>
@@ -21581,7 +21577,7 @@
     23:23:com.android.tools.r8.graph.DexEncodedMethod getResolvedMethod():144:144 -> a
     23:23:com.android.tools.r8.graph.DexEncodedMethod internalInvokeSpecialOrSuper(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.BiPredicate):308 -> a
     24:24:com.android.tools.r8.graph.DexEncodedMethod internalInvokeSpecialOrSuper(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.BiPredicate):308:308 -> a
-    25:25:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):411:411 -> a
+    25:25:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):418:418 -> a
     25:25:com.android.tools.r8.graph.DexEncodedMethod internalInvokeSpecialOrSuper(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.BiPredicate):312 -> a
     26:52:com.android.tools.r8.graph.DexEncodedMethod internalInvokeSpecialOrSuper(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.BiPredicate):316:342 -> a
     53:56:com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):171:174 -> a
@@ -21611,32 +21607,32 @@
     208:210:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy):523:525 -> a
     211:211:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):531:531 -> a
     212:212:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy):537:537 -> a
-    213:367:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:154 -> a
-    213:367:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy):537 -> a
-    368:380:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy):538:550 -> a
-    381:381:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy):602:602 -> a
-    381:381:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy):552 -> a
-    382:394:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):557:569 -> a
-    395:395:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):613:613 -> a
-    395:395:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):571 -> a
-    396:396:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):401:401 -> a
-    396:396:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):613 -> a
-    396:396:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):571 -> a
-    397:399:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):614:616 -> a
-    397:399:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):571 -> a
-    400:401:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):572:573 -> a
-    402:408:com.android.tools.r8.graph.DexEncodedMethod findWideningOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):624:630 -> a
-    402:408:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):573 -> a
-    409:409:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):401:401 -> a
-    409:409:com.android.tools.r8.graph.DexEncodedMethod findWideningOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):630 -> a
-    409:409:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):573 -> a
-    410:412:com.android.tools.r8.graph.DexEncodedMethod findWideningOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):632:634 -> a
-    410:412:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):573 -> a
-    413:413:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):585:585 -> a
-    414:424:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):579:589 -> a
-    425:425:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):597:597 -> a
-    425:425:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):592 -> a
-    426:433:boolean isOverriding(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):651:658 -> a
+    213:400:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:187 -> a
+    213:400:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy):537 -> a
+    401:413:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy):538:550 -> a
+    414:414:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy):602:602 -> a
+    414:414:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy):552 -> a
+    415:427:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):557:569 -> a
+    428:428:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):613:613 -> a
+    428:428:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):571 -> a
+    429:429:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):399:399 -> a
+    429:429:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):613 -> a
+    429:429:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):571 -> a
+    430:432:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):614:616 -> a
+    430:432:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):571 -> a
+    433:434:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):572:573 -> a
+    435:441:com.android.tools.r8.graph.DexEncodedMethod findWideningOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):624:630 -> a
+    435:441:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):573 -> a
+    442:442:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):399:399 -> a
+    442:442:com.android.tools.r8.graph.DexEncodedMethod findWideningOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):630 -> a
+    442:442:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):573 -> a
+    443:445:com.android.tools.r8.graph.DexEncodedMethod findWideningOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):632:634 -> a
+    443:445:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):573 -> a
+    446:446:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):585:585 -> a
+    447:457:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):579:589 -> a
+    458:458:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):597:597 -> a
+    458:458:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType):592 -> a
+    459:466:boolean isOverriding(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):651:658 -> a
     com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult asSingleResolution() -> b
     1:1:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):164:164 -> b
     1:5:com.android.tools.r8.graph.DexEncodedMethod lookupInvokeDirectTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):263:267 -> c
@@ -21652,11 +21648,11 @@
     1:1:com.android.tools.r8.graph.DexClass getResolvedHolder():140:140 -> i
     1:1:com.android.tools.r8.graph.DexEncodedMethod getResolvedMethod():144:144 -> j
 com.android.tools.r8.graph.RewrittenPrototypeDescription -> com.android.tools.r8.graph.n1:
-    com.android.tools.r8.graph.RewrittenPrototypeDescription none -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection argumentInfoCollection -> b
-    boolean extraNullParameter -> a
-    com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo rewrittenReturnInfo -> c
+    com.android.tools.r8.graph.RewrittenPrototypeDescription none -> a
+    com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection argumentInfoCollection -> d
+    boolean $assertionsDisabled -> b
+    boolean extraNullParameter -> c
+    com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo rewrittenReturnInfo -> e
     1:309:void <clinit>():18:326 -> <clinit>
     310:310:void <init>():333:333 -> <clinit>
     310:310:void <clinit>():326 -> <clinit>
@@ -21694,9 +21690,9 @@
     boolean isRewrittenTypeInfo() -> c
     com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo asRewrittenTypeInfo() -> d
 com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection -> com.android.tools.r8.graph.n1$c:
-    com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection EMPTY -> b
-    boolean $assertionsDisabled -> c
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap argumentInfos -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap argumentInfos -> c
+    com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection EMPTY -> a
+    boolean $assertionsDisabled -> b
     1:3:void <clinit>():173:175 -> <clinit>
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.RewrittenPrototypeDescription$1):173:173 -> <init>
     2:3:void <init>():180:181 -> <init>
@@ -21726,17 +21722,17 @@
     1:1:boolean isEmpty():195:195 -> e
     1:2:int numberOfRemovedArguments():209:210 -> f
 com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection$Builder -> com.android.tools.r8.graph.n1$c$a:
-    boolean $assertionsDisabled -> b
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap argumentInfos -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap argumentInfos -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():225:225 -> <clinit>
     1:1:void <init>():225:225 -> <init>
     1:5:void addArgumentInfo(int,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfo):230:234 -> a
     6:9:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection build():238:241 -> a
     10:10:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection build():239:239 -> a
 com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo -> com.android.tools.r8.graph.n1$d:
-    com.android.tools.r8.graph.DexType type -> c
-    boolean isAlwaysNull -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexType type -> d
+    boolean $assertionsDisabled -> b
+    boolean isAlwaysNull -> c
     1:1:void <clinit>():61:61 -> <clinit>
     1:1:void <init>(boolean,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.RewrittenPrototypeDescription$1):61:61 -> <init>
     2:4:void <init>(boolean,com.android.tools.r8.graph.DexType):87:89 -> <init>
@@ -21748,18 +21744,18 @@
     1:1:boolean isAlwaysNull():101:101 -> g
     1:1:boolean isNeverUsed():105:105 -> h
 com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder -> com.android.tools.r8.graph.n1$d$a:
-    com.android.tools.r8.graph.DexType type -> b
-    boolean isAlwaysNull -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexType type -> c
+    boolean $assertionsDisabled -> a
+    boolean isAlwaysNull -> b
     1:1:void <clinit>():63:63 -> <clinit>
     1:4:void <init>():63:66 -> <init>
     1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder setType(com.android.tools.r8.graph.DexType):74:74 -> a
     2:3:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo build():79:80 -> a
     1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription$RemovedArgumentInfo$Builder setIsAlwaysNull():69:69 -> b
 com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo -> com.android.tools.r8.graph.n1$e:
-    com.android.tools.r8.graph.DexType newType -> c
-    com.android.tools.r8.graph.DexType oldType -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexType newType -> d
+    com.android.tools.r8.graph.DexType oldType -> c
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():125:125 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):134:136 -> <init>
     1:1:com.android.tools.r8.graph.DexType access$300(com.android.tools.r8.graph.RewrittenPrototypeDescription$RewrittenTypeInfo):125:125 -> a
@@ -21780,12 +21776,12 @@
     1:3:void writeClassFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):64:66 -> b
     1:13:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):45:57 -> c
 com.android.tools.r8.graph.SubtypingInfo -> com.android.tools.r8.graph.p1:
-    java.util.Map typeInfo -> b
-    java.util.Map subtypeMap -> c
-    java.util.Set missingClasses -> d
-    java.util.Set NO_DIRECT_SUBTYPE -> e
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.DexItemFactory factory -> a
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    java.util.Map typeInfo -> d
+    java.util.Set missingClasses -> f
+    java.util.Set NO_DIRECT_SUBTYPE -> a
+    java.util.Map subtypeMap -> e
+    boolean $assertionsDisabled -> b
     1:8:void <clinit>():24:31 -> <clinit>
     1:1:void <init>(java.util.Collection,com.android.tools.r8.graph.DexDefinitionSupplier):44:44 -> <init>
     2:14:void <init>(java.util.Collection,com.android.tools.r8.graph.DexDefinitionSupplier):35:47 -> <init>
@@ -21819,10 +21815,10 @@
     1:1:java.util.Set lambda$populateSuperType$1(com.android.tools.r8.graph.DexType):68:68 -> i
     1:3:java.util.Set subtypes(com.android.tools.r8.graph.DexType):181:183 -> j
 com.android.tools.r8.graph.SubtypingInfo$TypeInfo -> com.android.tools.r8.graph.p1$a:
-    java.util.Set directSubtypes -> c
-    com.android.tools.r8.graph.DexType type -> a
-    int hierarchyLevel -> b
-    boolean $assertionsDisabled -> d
+    java.util.Set directSubtypes -> d
+    com.android.tools.r8.graph.DexType type -> b
+    boolean $assertionsDisabled -> a
+    int hierarchyLevel -> c
     1:1:void <clinit>():239:239 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexType):250:250 -> <init>
     2:10:void <init>(com.android.tools.r8.graph.DexType):243:251 -> <init>
@@ -21852,14 +21848,14 @@
     30:30:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass) -> a
     30:30:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
     31:36:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):72:77 -> a
-    37:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    37:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     37:37:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):77 -> a
     38:47:boolean shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):95:104 -> a
     38:47:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):78 -> a
     48:48:boolean shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):101:101 -> a
     48:48:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):78 -> a
     49:56:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):79:86 -> a
-    57:57:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    57:57:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     57:57:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):86 -> a
     58:67:boolean shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):95:104 -> a
     58:67:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):87 -> a
@@ -21898,11 +21894,11 @@
     1:2:void <clinit>():12:13 -> <clinit>
     1:1:void <init>(java.lang.String,int):11:11 -> <init>
 com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis -> com.android.tools.r8.graph.s1.a:
-    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> b
-    com.android.tools.r8.graph.DexString kotlinAssertionsEnabled -> c
-    java.util.List r8InstructionSequence -> e
-    java.util.List javacInstructionSequence -> d
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
+    java.util.List r8InstructionSequence -> b
+    java.util.List javacInstructionSequence -> a
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
+    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> d
+    com.android.tools.r8.graph.DexString kotlinAssertionsEnabled -> e
     1:8:void <clinit>():95:102 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):31:34 -> <init>
     1:5:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod):39:43 -> a
@@ -21920,10 +21916,10 @@
     58:79:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod):43 -> a
     80:80:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod):44:44 -> a
 com.android.tools.r8.graph.analysis.DesugaredLibraryConversionWrapperAnalysis -> com.android.tools.r8.graph.s1.b:
-    java.util.Map synthesizedWrappers -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter converter -> b
-    boolean $assertionsDisabled -> d
+    java.util.Map synthesizedWrappers -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter converter -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():23:23 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):30:30 -> <init>
     2:6:void <init>(com.android.tools.r8.graph.AppView):28:32 -> <init>
@@ -21932,15 +21928,15 @@
     2:2:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):52 -> a
     3:3:com.android.tools.r8.utils.collections.ProgramMethodSet generateCallbackMethods():71:71 -> a
     4:8:java.util.List generateWrappersSuperTypeMock(java.util.List):81:85 -> a
-    9:9:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    9:9:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     9:9:java.util.List generateWrappersSuperTypeMock(java.util.List):85 -> a
     10:10:java.util.List generateWrappersSuperTypeMock(java.util.List):86:86 -> a
-    11:111:boolean com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter.isVivifiedType(com.android.tools.r8.graph.DexType):0:100 -> a
-    11:111:java.util.List generateWrappersSuperTypeMock(java.util.List):86 -> a
-    112:115:java.util.List generateWrappersSuperTypeMock(java.util.List):86:89 -> a
-    116:116:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    116:116:java.util.List generateWrappersSuperTypeMock(java.util.List):89 -> a
-    117:125:java.util.List generateWrappersSuperTypeMock(java.util.List):90:98 -> a
+    11:112:boolean com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter.isVivifiedType(com.android.tools.r8.graph.DexType):0:101 -> a
+    11:112:java.util.List generateWrappersSuperTypeMock(java.util.List):86 -> a
+    113:116:java.util.List generateWrappersSuperTypeMock(java.util.List):86:89 -> a
+    117:117:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    117:117:java.util.List generateWrappersSuperTypeMock(java.util.List):89 -> a
+    118:126:java.util.List generateWrappersSuperTypeMock(java.util.List):90:98 -> a
     1:1:void traceInvoke(com.android.tools.r8.graph.DexMethod):42:42 -> b
     1:1:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> b
     2:2:java.util.List generateWrappers():75:75 -> b
@@ -21968,32 +21964,32 @@
     19:19:void done(com.android.tools.r8.shaking.Enqueuer):89:89 -> a
 com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$1 -> com.android.tools.r8.graph.s1.e:
 com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods -> com.android.tools.r8.graph.s1.f$a:
-    java.util.Map mapping -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> c
+    java.util.Map mapping -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():20:20 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$1):20:20 -> <init>
     2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):26:28 -> <init>
     1:18:boolean isClassDefinitelyLoadedInInstanceMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):33:50 -> a
 com.android.tools.r8.graph.classmerging.HorizontallyMergedLambdaClasses -> com.android.tools.r8.graph.t1.a:
-    java.util.Set sources -> a
-    boolean $assertionsDisabled -> b
+    java.util.Set sources -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:2:void <init>(java.util.Set):16:17 -> <init>
     1:4:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):22:25 -> a
 com.android.tools.r8.graph.classmerging.MergedClasses -> com.android.tools.r8.graph.t1.b:
     boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView) -> a
 com.android.tools.r8.graph.classmerging.MergedClassesCollection -> com.android.tools.r8.graph.t1.c:
-    java.util.List collection -> a
-    boolean $assertionsDisabled -> b
+    java.util.List collection -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:3:void <init>():12:14 -> <init>
     1:1:void add(com.android.tools.r8.graph.classmerging.MergedClasses):17:17 -> a
     2:3:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):22:23 -> a
 com.android.tools.r8.graph.classmerging.VerticallyMergedClasses -> com.android.tools.r8.graph.t1.d:
-    java.util.Map mergedClasses -> a
-    java.util.Map sources -> b
-    boolean $assertionsDisabled -> c
+    java.util.Map mergedClasses -> b
+    java.util.Map sources -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():16:16 -> <clinit>
     1:6:void <init>(java.util.Map):21:26 -> <init>
     1:1:void lambda$new$1(java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):24:24 -> a
@@ -22090,10 +22086,10 @@
     1:1:com.android.tools.r8.references.TypeReference getTypeReference():41:41 -> getTypeReference
     1:1:boolean isBooleanValue():51:51 -> isBooleanValue
     1:1:boolean isByteValue():67:67 -> isByteValue
-    2:2:boolean com.android.tools.r8.graph.DexType.isByteType():203:203 -> isByteValue
+    2:2:boolean com.android.tools.r8.graph.DexType.isByteType():229:229 -> isByteValue
     2:2:boolean isByteValue():67 -> isByteValue
     1:1:boolean isCharValue():83:83 -> isCharValue
-    2:2:boolean com.android.tools.r8.graph.DexType.isCharType():207:207 -> isCharValue
+    2:2:boolean com.android.tools.r8.graph.DexType.isCharType():233:233 -> isCharValue
     2:2:boolean isCharValue():83 -> isCharValue
     1:1:boolean isDoubleValue():163:163 -> isDoubleValue
     1:1:boolean isFloatValue():147:147 -> isFloatValue
@@ -22101,16 +22097,16 @@
     1:1:boolean isLongValue():131:131 -> isLongValue
     1:1:boolean isPrimitive():46:46 -> isPrimitive
     1:1:boolean isShortValue():99:99 -> isShortValue
-    2:2:boolean com.android.tools.r8.graph.DexType.isShortType():211:211 -> isShortValue
+    2:2:boolean com.android.tools.r8.graph.DexType.isShortType():237:237 -> isShortValue
     2:2:boolean isShortValue():99 -> isShortValue
     1:1:boolean isStringValue():179:179 -> isStringValue
 com.android.tools.r8.ir.analysis.ClassInitializationAnalysis -> com.android.tools.r8.s.a.b:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis TRIVIAL -> e
-    com.android.tools.r8.ir.code.DominatorTree dominatorTree -> c
-    boolean $assertionsDisabled -> f
-    int markingColor -> d
-    com.android.tools.r8.ir.code.IRCode code -> b
+    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis TRIVIAL -> a
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.ir.code.IRCode code -> d
+    com.android.tools.r8.ir.code.DominatorTree dominatorTree -> e
+    int markingColor -> f
+    boolean $assertionsDisabled -> b
     1:13:void <clinit>():53:65 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$1):53:53 -> <init>
     2:2:void <init>():81:81 -> <init>
@@ -22140,31 +22136,31 @@
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():232:232 -> <clinit>
     1:5:boolean forInitClass(com.android.tools.r8.ir.code.InitClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):240:244 -> a
-    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     6:6:boolean forInitClass(com.android.tools.r8.ir.code.InitClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):244 -> a
     7:7:boolean forInitClass(com.android.tools.r8.ir.code.InitClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):245:245 -> a
     8:8:boolean forInstanceGet(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):254:254 -> a
     9:9:boolean forInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):263:263 -> a
     10:23:boolean forInstanceGetOrPut(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):272:285 -> a
     24:30:boolean forInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):294:300 -> a
-    31:31:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    31:31:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     31:31:boolean forInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):300 -> a
     32:32:boolean forInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):301:301 -> a
     33:59:boolean forInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):311:337 -> a
     60:65:boolean forInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):347:352 -> a
     66:86:boolean forInvokeSuper(com.android.tools.r8.ir.code.InvokeSuper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):362:382 -> a
-    87:87:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    87:87:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     87:87:boolean forInvokeSuper(com.android.tools.r8.ir.code.InvokeSuper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):382 -> a
     88:98:boolean forInvokeSuper(com.android.tools.r8.ir.code.InvokeSuper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):386:396 -> a
     99:125:boolean forInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):406:432 -> a
     126:130:boolean forNewInstance(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):441:445 -> a
-    131:131:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    131:131:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     131:131:boolean forNewInstance(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):445 -> a
     132:132:boolean forNewInstance(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):446:446 -> a
     133:133:boolean forStaticGet(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):455:455 -> a
     134:134:boolean forStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):464:464 -> a
     135:167:boolean isTypeInitializedBy(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query):489:521 -> a
-    168:168:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    168:168:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     168:168:boolean isTypeInitializedBy(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query):525 -> a
     169:172:boolean isTypeInitializedBy(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query):527:530 -> a
     173:173:boolean isTypeInitializedBy(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query):529:529 -> a
@@ -22185,17 +22181,17 @@
 com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis -> com.android.tools.r8.s.a.e:
     1:15:java.util.Set computeInitializedClassesOnNormalExit(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):39:53 -> a
 com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor -> com.android.tools.r8.s.a.d:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set initializedClassesOnNormalExit -> c
-    com.android.tools.r8.graph.ProgramMethod context -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set initializedClassesOnNormalExit -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.ProgramMethod context -> c
     1:1:void <clinit>():56:56 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> <init>
     2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):60:64 -> <init>
     1:1:java.util.Set build():68:68 -> a
     2:2:void markInitializedOnNormalExit(java.lang.Iterable):72:72 -> a
     3:8:void markInitializedOnNormalExit(com.android.tools.r8.graph.DexType):76:81 -> a
-    9:9:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    9:9:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     9:9:void markInitializedOnNormalExit(com.android.tools.r8.graph.DexType):81 -> a
     10:36:void markInitializedOnNormalExit(com.android.tools.r8.graph.DexType):85:111 -> a
     37:43:java.lang.Void handleFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction):117:123 -> a
@@ -22207,8 +22203,8 @@
     57:57:java.lang.Void visit(com.android.tools.r8.ir.code.NewInstance):150:150 -> a
     57:57:java.lang.Object visit(com.android.tools.r8.ir.code.NewInstance):56 -> a
 com.android.tools.r8.ir.analysis.TypeChecker -> com.android.tools.r8.s.a.f:
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():31:31 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.AppView):35:36 -> <init>
     1:3:boolean check(com.android.tools.r8.ir.code.IRCode):40:42 -> a
@@ -22217,7 +22213,7 @@
     5:6:boolean check(com.android.tools.r8.ir.code.IRCode):45:46 -> a
     7:20:boolean check(com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.DexEncodedMethod):67:80 -> a
     7:20:boolean check(com.android.tools.r8.ir.code.IRCode):46 -> a
-    21:21:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    21:21:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     21:21:boolean check(com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.DexEncodedMethod):80 -> a
     21:21:boolean check(com.android.tools.r8.ir.code.IRCode):46 -> a
     22:22:boolean check(com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.DexEncodedMethod):81:81 -> a
@@ -22231,42 +22227,38 @@
     32:34:boolean check(com.android.tools.r8.ir.code.Throw):113:115 -> a
     32:34:boolean check(com.android.tools.r8.ir.code.IRCode):54 -> a
     35:46:boolean checkFieldPut(com.android.tools.r8.ir.code.FieldInstruction):92:103 -> a
-    47:47:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    47:47:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     47:47:boolean checkFieldPut(com.android.tools.r8.ir.code.FieldInstruction):103 -> a
     48:48:boolean checkFieldPut(com.android.tools.r8.ir.code.FieldInstruction):104:104 -> a
     49:51:boolean isSubtypeOf(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):119:121 -> a
 com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis -> com.android.tools.r8.s.a.g:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set knownNotToDependOnEnvironment -> d
-    java.util.Set visited -> e
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.ir.code.IRCode code -> b
-    com.android.tools.r8.graph.ProgramMethod context -> c
-    1:1:void <clinit>():66:66 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):75:75 -> <init>
-    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):72:78 -> <init>
-    1:11:boolean valueMayNotDependOnEnvironmentAssumingArrayDoesNotDependOnEnvironment(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.Set):127:137 -> a
-    12:13:boolean isConstantArrayThroughoutMethod(com.android.tools.r8.ir.code.Value):147:148 -> a
-    14:130:boolean isConstantArrayThroughoutMethod(com.android.tools.r8.ir.code.Value,java.util.Set):154:270 -> a
-    131:172:boolean valueMayBeMutatedBeforeMethodExit(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):356:397 -> a
-    1:2:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value):82:83 -> b
-    3:10:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):278:285 -> b
-    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
-    11:11:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):285 -> b
-    12:47:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):285:320 -> b
-    48:48:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> b
-    48:48:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):320 -> b
-    49:66:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):325:342 -> b
-    67:74:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):341:348 -> b
-    1:33:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):89:121 -> c
-    34:51:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):104:121 -> c
-    52:55:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):107:110 -> c
-    56:56:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> c
-    56:56:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):110 -> c
-    57:67:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):111:121 -> c
-    68:74:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):115:121 -> c
-    75:77:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):120:120 -> c
-    78:79:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):121:122 -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set knownNotToDependOnEnvironment -> e
+    java.util.Set visited -> f
+    com.android.tools.r8.ir.code.IRCode code -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.ProgramMethod context -> d
+    1:1:void <clinit>():68:68 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):77:77 -> <init>
+    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):74:80 -> <init>
+    1:2:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value):84:85 -> a
+    3:13:boolean valueMayNotDependOnEnvironmentAssumingArrayDoesNotDependOnEnvironment(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.Set):130:140 -> a
+    14:130:boolean isConstantArrayThroughoutMethod(com.android.tools.r8.ir.code.Value,java.util.Set):157:273 -> a
+    131:172:boolean valueMayBeMutatedBeforeMethodExit(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):359:400 -> a
+    1:8:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):281:288 -> b
+    9:9:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
+    9:9:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):288 -> b
+    10:45:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):288:323 -> b
+    46:46:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> b
+    46:46:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):323 -> b
+    47:64:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):328:345 -> b
+    65:72:boolean isNewInstanceWithoutEnvironmentDependentFields(com.android.tools.r8.ir.code.Value,java.util.Set):344:351 -> b
+    1:34:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):91:124 -> c
+    35:53:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):106:124 -> c
+    54:69:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):109:124 -> c
+    70:76:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):118:124 -> c
+    77:79:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):123:123 -> c
+    80:81:boolean valueMayDependOnEnvironment(com.android.tools.r8.ir.code.Value,java.util.Set):124:125 -> c
 com.android.tools.r8.ir.analysis.constant.Bottom -> com.android.tools.r8.s.a.h.a:
     com.android.tools.r8.ir.analysis.constant.Bottom INSTANCE -> a
     1:1:void <clinit>():7:7 -> <clinit>
@@ -22284,8 +22276,8 @@
     1:1:int getIntValue():51:51 -> h
     1:1:java.lang.String toString():43:43 -> toString
 com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement -> com.android.tools.r8.s.a.h.c:
-    com.android.tools.r8.ir.code.Value value -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.ir.code.Value value -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():8:8 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.code.Value):11:13 -> <init>
     1:8:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):18:25 -> a
@@ -22309,40 +22301,44 @@
     boolean isTop() -> e
     boolean isValueRange() -> f
 com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation -> com.android.tools.r8.s.a.h.e:
-    java.util.Deque flowEdges -> d
-    java.util.BitSet visitedBlocks -> g
-    java.util.Map mapping -> b
-    java.util.Deque ssaEdges -> c
-    java.util.BitSet[] executableFlowEdges -> f
-    com.android.tools.r8.ir.code.IRCode code -> a
-    boolean $assertionsDisabled -> h
-    int nextBlockNumber -> e
-    1:1:void <clinit>():30:30 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.code.IRCode):40:40 -> <init>
-    2:13:void <init>(com.android.tools.r8.ir.code.IRCode):33:44 -> <init>
-    1:41:void rewriteCode():80:120 -> a
-    42:42:boolean lambda$rewriteCode$0(java.util.Map$Entry):83:83 -> a
-    43:68:void lambda$rewriteCode$3(java.util.List,java.util.Map$Entry):86:111 -> a
-    69:69:boolean lambda$rewriteCode$1(com.android.tools.r8.ir.code.Instruction):99:99 -> a
-    70:70:boolean lambda$rewriteCode$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):110:110 -> a
-    71:71:com.android.tools.r8.ir.analysis.constant.LatticeElement getLatticeElement(com.android.tools.r8.ir.code.Value):124:124 -> a
-    72:87:void visitPhi(com.android.tools.r8.ir.code.Phi):132:147 -> a
-    88:88:com.android.tools.r8.ir.analysis.constant.LatticeElement getLatticeElement(com.android.tools.r8.ir.code.Value):124:124 -> a
-    88:88:void visitPhi(com.android.tools.r8.ir.code.Phi):148 -> a
-    89:90:void visitPhi(com.android.tools.r8.ir.code.Phi):149:150 -> a
-    91:91:void setLatticeElement(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.constant.LatticeElement):128:128 -> a
-    91:91:void visitPhi(com.android.tools.r8.ir.code.Phi):151 -> a
-    92:95:void visitInstructions(com.android.tools.r8.ir.code.BasicBlock):157:160 -> a
-    96:100:boolean isExecutableEdge(int,int):255:259 -> a
-    1:28:void run():49:76 -> b
-    29:46:void run():53:70 -> b
-    47:51:void visitInstruction(com.android.tools.r8.ir.code.Instruction):164:168 -> b
-    52:52:void setLatticeElement(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.constant.LatticeElement):128:128 -> b
-    52:52:void visitInstruction(com.android.tools.r8.ir.code.Instruction):168 -> b
-    53:57:void visitInstruction(com.android.tools.r8.ir.code.Instruction):169:173 -> b
-    58:120:void addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):178:240 -> b
-    58:120:void visitInstruction(com.android.tools.r8.ir.code.Instruction):173 -> b
-    121:126:void setExecutableEdge(int,int):246:251 -> b
+    java.util.BitSet visitedBlocks -> i
+    java.util.Map mapping -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Deque flowEdges -> f
+    java.util.Deque ssaEdges -> e
+    int nextBlockNumber -> g
+    com.android.tools.r8.ir.code.IRCode code -> c
+    boolean $assertionsDisabled -> a
+    java.util.BitSet[] executableFlowEdges -> h
+    1:1:void <clinit>():34:34 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):45:45 -> <init>
+    2:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):38:50 -> <init>
+    1:41:void rewriteCode():85:125 -> a
+    42:42:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView) -> a
+    42:42:void rewriteCode():125 -> a
+    43:45:void rewriteCode():125:127 -> a
+    46:46:boolean lambda$rewriteCode$0(java.util.Map$Entry):88:88 -> a
+    47:73:void lambda$rewriteCode$3(java.util.Set,java.util.List,java.util.Map$Entry):91:117 -> a
+    74:74:boolean lambda$rewriteCode$1(com.android.tools.r8.ir.code.Instruction):105:105 -> a
+    75:75:boolean lambda$rewriteCode$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):116:116 -> a
+    76:76:com.android.tools.r8.ir.analysis.constant.LatticeElement getLatticeElement(com.android.tools.r8.ir.code.Value):131:131 -> a
+    77:92:void visitPhi(com.android.tools.r8.ir.code.Phi):139:154 -> a
+    93:93:com.android.tools.r8.ir.analysis.constant.LatticeElement getLatticeElement(com.android.tools.r8.ir.code.Value):131:131 -> a
+    93:93:void visitPhi(com.android.tools.r8.ir.code.Phi):155 -> a
+    94:95:void visitPhi(com.android.tools.r8.ir.code.Phi):156:157 -> a
+    96:96:void setLatticeElement(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.constant.LatticeElement):135:135 -> a
+    96:96:void visitPhi(com.android.tools.r8.ir.code.Phi):158 -> a
+    97:100:void visitInstructions(com.android.tools.r8.ir.code.BasicBlock):164:167 -> a
+    101:105:boolean isExecutableEdge(int,int):262:266 -> a
+    1:28:void run():54:81 -> b
+    29:46:void run():58:75 -> b
+    47:51:void visitInstruction(com.android.tools.r8.ir.code.Instruction):171:175 -> b
+    52:52:void setLatticeElement(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.constant.LatticeElement):135:135 -> b
+    52:52:void visitInstruction(com.android.tools.r8.ir.code.Instruction):175 -> b
+    53:57:void visitInstruction(com.android.tools.r8.ir.code.Instruction):176:180 -> b
+    58:120:void addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):185:247 -> b
+    58:120:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
+    121:126:void setExecutableEdge(int,int):253:258 -> b
 com.android.tools.r8.ir.analysis.constant.Top -> com.android.tools.r8.s.a.h.f:
     com.android.tools.r8.ir.analysis.constant.Top INSTANCE -> a
     1:1:void <clinit>():7:7 -> <clinit>
@@ -22351,9 +22347,9 @@
     boolean isTop() -> e
     1:1:com.android.tools.r8.ir.analysis.constant.Top getInstance():13:13 -> g
 com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption -> com.android.tools.r8.s.a.i.a:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.graph.ProgramMethod context -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.ProgramMethod context -> c
     1:1:void <clinit>():33:33 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):38:40 -> <init>
     1:1:boolean isSubsumedBy(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):44:44 -> a
@@ -22384,11 +22380,11 @@
     2:2:boolean instructionMayHaveSideEffects(com.android.tools.r8.ir.code.Instruction):174:174 -> c
     2:2:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.ir.code.Instruction):151 -> c
 com.android.tools.r8.ir.analysis.escape.EscapeAnalysis -> com.android.tools.r8.s.a.j.a:
-    java.util.Deque valuesToTrack -> d
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set trackedValues -> c
-    com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration configuration -> b
-    boolean $assertionsDisabled -> e
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set trackedValues -> d
+    java.util.Deque valuesToTrack -> e
+    com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration configuration -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():29:29 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration):44:44 -> <init>
     2:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration):35:46 -> <init>
@@ -22425,72 +22421,75 @@
     5:24:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):65:84 -> a
     25:30:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):83:88 -> a
     31:38:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):87:94 -> a
-    39:39:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    39:39:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     39:39:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):94 -> a
     40:43:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):94:97 -> a
 com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker -> com.android.tools.r8.s.a.k.b:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set nonZeroFields -> d
-    com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph fieldAccessGraph -> b
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$ObjectAllocationGraph objectAllocationGraph -> c
-    java.util.Map abstractInstanceFieldValues -> e
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set nonZeroFields -> e
+    com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph fieldAccessGraph -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$ObjectAllocationGraph objectAllocationGraph -> d
+    java.util.Map abstractInstanceFieldValues -> f
     1:1:void <clinit>():45:45 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):65:65 -> <init>
-    2:11:void <init>(com.android.tools.r8.graph.AppView):60:69 -> <init>
-    1:5:void initializeAbstractInstanceFieldValues():80:84 -> a
-    6:23:void lambda$initializeAbstractInstanceFieldValues$0(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexProgramClass,java.util.Set):86:103 -> a
-    24:24:void acceptClassInitializerDefaultsResult(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):113:113 -> a
-    25:26:void lambda$acceptClassInitializerDefaultsResult$1(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):115:116 -> a
-    27:28:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod):123:124 -> a
-    29:30:void recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):129:130 -> a
-    29:30:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod):124 -> a
-    31:35:boolean verifyValueIsConsistentWithFieldOptimizationInfo(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo,com.android.tools.r8.graph.ProgramMethod):293:297 -> a
-    31:35:void recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):129 -> a
-    31:35:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod):124 -> a
-    36:37:void recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):131:132 -> a
-    36:37:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod):124 -> a
-    38:45:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):137:144 -> a
-    46:46:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):42:42 -> a
-    46:46:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):144 -> a
-    47:99:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):147:199 -> a
-    100:102:void recordAllFieldPutsProcessed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):204:206 -> a
-    100:102:void lambda$waveDone$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexEncodedField):283 -> a
-    103:103:boolean isAlwaysZero(com.android.tools.r8.graph.DexEncodedField):108:108 -> a
-    103:103:void recordAllFieldPutsProcessed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):210 -> a
-    103:103:void lambda$waveDone$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexEncodedField):283 -> a
-    104:106:void recordAllFieldPutsProcessed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):211:211 -> a
-    104:106:void lambda$waveDone$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexEncodedField):283 -> a
-    107:107:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    107:107:void recordAllFieldPutsProcessed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):215 -> a
-    107:107:void lambda$waveDone$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexEncodedField):283 -> a
-    108:108:void recordAllFieldPutsProcessed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):216:216 -> a
-    108:108:void lambda$waveDone$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexEncodedField):283 -> a
-    109:129:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):222:242 -> a
-    130:140:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):241:251 -> a
-    141:157:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):258:274 -> a
-    158:158:void lambda$recordAllAllocationsSitesProcessed$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLivenessModifier):268:268 -> a
-    159:166:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):281:288 -> a
-    167:167:void lambda$waveDone$4(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexProgramClass):285:285 -> a
+    2:10:void <init>(com.android.tools.r8.graph.AppView):60:68 -> <init>
+    1:3:void initialize():72:74 -> a
+    4:21:void lambda$initializeAbstractInstanceFieldValues$0(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexProgramClass,java.util.Set):91:108 -> a
+    22:22:void acceptClassInitializerDefaultsResult(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):118:118 -> a
+    23:24:void lambda$acceptClassInitializerDefaultsResult$1(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):120:121 -> a
+    25:26:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod):128:129 -> a
+    27:28:void recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):134:135 -> a
+    27:28:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod):129 -> a
+    29:33:boolean verifyValueIsConsistentWithFieldOptimizationInfo(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo,com.android.tools.r8.graph.ProgramMethod):298:302 -> a
+    29:33:void recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):134 -> a
+    29:33:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod):129 -> a
+    34:35:void recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):136:137 -> a
+    34:35:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod):129 -> a
+    36:43:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):142:149 -> a
+    44:44:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):42:42 -> a
+    44:44:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):149 -> a
+    45:97:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):152:204 -> a
+    98:100:void recordAllFieldPutsProcessed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):209:211 -> a
+    98:100:void lambda$waveDone$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexEncodedField):288 -> a
+    101:101:boolean isAlwaysZero(com.android.tools.r8.graph.DexEncodedField):113:113 -> a
+    101:101:void recordAllFieldPutsProcessed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):215 -> a
+    101:101:void lambda$waveDone$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexEncodedField):288 -> a
+    102:104:void recordAllFieldPutsProcessed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):216:216 -> a
+    102:104:void lambda$waveDone$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexEncodedField):288 -> a
+    105:105:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
+    105:105:void recordAllFieldPutsProcessed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):220 -> a
+    105:105:void lambda$waveDone$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexEncodedField):288 -> a
+    106:106:void recordAllFieldPutsProcessed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):221:221 -> a
+    106:106:void lambda$waveDone$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexEncodedField):288 -> a
+    107:127:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):227:247 -> a
+    128:138:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):246:256 -> a
+    139:155:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):263:279 -> a
+    156:156:void lambda$recordAllAllocationsSitesProcessed$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLivenessModifier):273:273 -> a
+    157:164:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):286:293 -> a
+    165:165:void lambda$waveDone$4(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexProgramClass):290:290 -> a
+    1:5:void initializeAbstractInstanceFieldValues():85:89 -> b
 com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph -> com.android.tools.r8.s.a.k.b$a:
-    java.util.Map fieldWrites -> a
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap pendingFieldWrites -> b
-    boolean $assertionsDisabled -> c
-    1:1:void <clinit>():301:301 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView):311:311 -> <init>
-    2:13:void <init>(com.android.tools.r8.graph.AppView):304:315 -> <init>
-    1:12:void lambda$new$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfo):318:329 -> a
-    13:13:java.util.List lambda$new$0(com.android.tools.r8.graph.DexEncodedMethod):327:327 -> a
-    14:15:void lambda$new$1(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod):327:328 -> a
-    16:23:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):335:342 -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap pendingFieldWrites -> c
+    java.util.Map fieldWrites -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():306:306 -> <clinit>
+    1:1:void <init>():316:316 -> <init>
+    2:6:void <init>():309:313 -> <init>
+    1:2:void initialize(com.android.tools.r8.graph.AppView):320:321 -> a
+    3:14:void lambda$initialize$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfo):324:335 -> a
+    15:15:java.util.List lambda$initialize$0(com.android.tools.r8.graph.DexEncodedMethod):333:333 -> a
+    16:17:void lambda$initialize$1(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod):333:334 -> a
+    18:25:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):341:348 -> a
 com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$ObjectAllocationGraph -> com.android.tools.r8.s.a.k.b$b:
     java.util.Map objectAllocations -> a
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap pendingObjectAllocations -> b
-    1:1:void <init>(com.android.tools.r8.graph.AppView):359:359 -> <init>
-    2:12:void <init>(com.android.tools.r8.graph.AppView):352:362 -> <init>
-    1:4:void lambda$new$1(com.android.tools.r8.graph.DexProgramClass,java.util.Set):364:367 -> a
-    5:5:java.util.List lambda$new$0(com.android.tools.r8.graph.DexEncodedMethod):365:365 -> a
-    6:13:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):373:380 -> a
+    1:1:void <init>():365:365 -> <init>
+    2:6:void <init>():358:362 -> <init>
+    1:2:void initialize(com.android.tools.r8.graph.AppView):369:370 -> a
+    3:6:void lambda$initialize$1(com.android.tools.r8.graph.DexProgramClass,java.util.Set):372:375 -> a
+    7:7:java.util.List lambda$initialize$0(com.android.tools.r8.graph.DexEncodedMethod):373:373 -> a
+    8:15:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):381:388 -> a
 com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis -> com.android.tools.r8.s.a.k.c:
     1:1:void <init>():16:16 -> <init>
     1:9:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):20:28 -> a
@@ -22499,11 +22498,11 @@
     33:33:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):29:29 -> a
     34:50:boolean isOnlyUsedToUpdateFieldValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexEncodedField):66:82 -> a
 com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor -> com.android.tools.r8.s.a.k.e:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set fieldsOfInterest -> c
-    com.android.tools.r8.utils.collections.ProgramMethodSet methodsToReprocess -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder postMethodProcessorBuilder -> b
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set fieldsOfInterest -> d
+    com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder postMethodProcessorBuilder -> c
+    com.android.tools.r8.utils.collections.ProgramMethodSet methodsToReprocess -> e
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():34:34 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder):47:47 -> <init>
     2:11:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder):40:49 -> <init>
@@ -22556,31 +22555,28 @@
     boolean isKnownFieldSet() -> e
     boolean isTop() -> f
 com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet -> com.android.tools.r8.s.a.l.b:
-    java.util.Set fields -> a
-    boolean $assertionsDisabled -> b
-    1:1:void <clinit>():16:16 -> <clinit>
-    1:2:void <init>():20:21 -> <init>
-    3:4:void <init>(com.android.tools.r8.graph.DexEncodedField):24:25 -> <init>
+    java.util.Set fields -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():18:18 -> <clinit>
+    1:2:void <init>():22:23 -> <init>
+    3:4:void <init>(com.android.tools.r8.graph.DexEncodedField):26:27 -> <init>
     boolean isConcreteFieldSet() -> a
-    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet addAll(com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet):33:33 -> a
-    2:2:boolean contains(com.android.tools.r8.graph.DexEncodedField):66:66 -> a
-    3:3:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):71:71 -> a
-    4:4:boolean isEmpty():86:86 -> a
-    4:4:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):71 -> a
-    5:8:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):71:74 -> a
-    9:9:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> a
-    9:9:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):74 -> a
-    10:10:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):76:76 -> a
-    11:11:void add(com.android.tools.r8.graph.DexEncodedField):29:29 -> a
-    11:11:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):79 -> a
+    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet addAll(com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet):35:35 -> a
+    2:2:boolean contains(com.android.tools.r8.graph.DexEncodedField):68:68 -> a
+    3:3:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):73:73 -> a
+    4:4:boolean isEmpty():90:90 -> a
+    4:4:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):73 -> a
+    5:12:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):73:80 -> a
+    13:13:void add(com.android.tools.r8.graph.DexEncodedField):31:31 -> a
+    13:13:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):83 -> a
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet asConcreteFieldSet() -> b
-    1:1:void add(com.android.tools.r8.graph.DexEncodedField):29:29 -> b
+    1:1:void add(com.android.tools.r8.graph.DexEncodedField):31:31 -> b
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet asKnownFieldSet() -> c
     boolean isKnownFieldSet() -> e
-    1:5:boolean equals(java.lang.Object):104:108 -> equals
-    1:4:java.util.Set getFields():38:41 -> g
-    1:1:int hashCode():96:96 -> hashCode
-    1:1:int size():91:91 -> size
+    1:5:boolean equals(java.lang.Object):108:112 -> equals
+    1:4:java.util.Set getFields():40:43 -> g
+    1:1:int hashCode():100:100 -> hashCode
+    1:1:int size():95:95 -> size
 com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet -> com.android.tools.r8.s.a.l.c:
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet INSTANCE -> a
     1:1:void <clinit>():13:13 -> <clinit>
@@ -22592,14 +22588,14 @@
     boolean isKnownFieldSet() -> e
     1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet getInstance():18:18 -> g
 com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis -> com.android.tools.r8.s.a.l.d:
-    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> d
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.code.DominatorTree dominatorTree -> e
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.ir.code.IRCode code -> b
-    java.util.Map fieldsMaybeReadBeforeBlockInclusiveCache -> f
-    java.util.Map putsPerField -> g
-    com.android.tools.r8.graph.ProgramMethod context -> c
+    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> e
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.code.DominatorTree dominatorTree -> f
+    com.android.tools.r8.ir.code.IRCode code -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.ProgramMethod context -> d
+    java.util.Map fieldsMaybeReadBeforeBlockInclusiveCache -> g
+    java.util.Map putsPerField -> h
     1:1:void <clinit>():30:30 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):43:43 -> <init>
     2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):40:47 -> <init>
@@ -22637,11 +22633,11 @@
     1:4:com.android.tools.r8.ir.code.DominatorTree getOrCreateDominatorTree():51:54 -> b
     5:5:java.util.LinkedList lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField):83:83 -> b
 com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis -> com.android.tools.r8.s.a.l.e:
-    boolean $assertionsDisabled -> m
-    com.android.tools.r8.graph.DexEncodedMethod parentConstructor -> k
-    com.android.tools.r8.ir.code.InvokeDirect parentConstructorCall -> l
-    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory factory -> j
-    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder builder -> i
+    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder builder -> j
+    com.android.tools.r8.graph.DexEncodedMethod parentConstructor -> l
+    boolean $assertionsDisabled -> i
+    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory factory -> k
+    com.android.tools.r8.ir.code.InvokeDirect parentConstructorCall -> m
     1:1:void <clinit>():34:34 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.InvokeDirect):52:52 -> <init>
     2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.InvokeDirect):39:55 -> <init>
@@ -22737,11 +22733,11 @@
     1:1:void <clinit>():17:17 -> <clinit>
     1:23:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexItemFactory):21:43 -> a
 com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker -> com.android.tools.r8.s.a.n.b:
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set classesWithRemovedExtensionFields -> c
-    java.util.Set removedExtensionFields -> d
-    boolean $assertionsDisabled -> e
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set classesWithRemovedExtensionFields -> d
+    java.util.Set removedExtensionFields -> e
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():69:69 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):78:78 -> <init>
     2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):74:81 -> <init>
@@ -22763,11 +22759,11 @@
     50:50:void lambda$forEachFindLiteExtensionByNumberMethod$4(com.android.tools.r8.ir.desugar.LambdaDescriptor):181:181 -> a
     51:58:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.DexField):186:193 -> a
     59:59:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.DexField):192:192 -> a
-    60:74:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Set):202:216 -> a
-    75:219:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.ProgramMethod):0:144 -> a
-    75:219:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Set):217 -> a
-    220:222:void forEachDeadProtoExtensionField(java.util.function.Consumer):221:223 -> a
-    223:225:void lambda$forEachDeadProtoExtensionField$5(java.util.function.Consumer,com.android.tools.r8.graph.FieldAccessInfo):225:227 -> a
+    60:74:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):202:216 -> a
+    75:238:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.ProgramMethod):0:163 -> a
+    75:238:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):217 -> a
+    239:241:void forEachDeadProtoExtensionField(java.util.function.Consumer):221:223 -> a
+    242:244:void lambda$forEachDeadProtoExtensionField$5(java.util.function.Consumer,com.android.tools.r8.graph.FieldAccessInfo):225:227 -> a
     1:2:void recordDeadProtoExtensionField(com.android.tools.r8.graph.DexField):101:102 -> b
     3:5:void forEachFindLiteExtensionByNumberMethod(java.util.function.Consumer):171:173 -> b
     1:1:boolean wasRemoved(com.android.tools.r8.graph.DexField):149:149 -> c
@@ -22775,92 +22771,124 @@
     com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker this$0 -> a
     1:1:void <init>(com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):107:107 -> <init>
     1:1:boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):112:112 -> isReachableOrReferencedField
-com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker -> com.android.tools.r8.s.a.n.f:
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
-    java.util.Map builders -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> d
-    1:1:void <clinit>():52:52 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):60:60 -> <init>
-    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):57:62 -> <init>
-    1:1:com.android.tools.r8.ir.analysis.proto.ProtoReferences access$100(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):52:52 -> a
-    2:6:boolean deferDeadProtoBuilders(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.function.BooleanSupplier):68:72 -> a
-    7:14:void removeDeadBuilderReferencesFromDynamicMethods(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):86:93 -> a
-    15:26:void removeDeadBuilderReferencesFromDynamicMethods(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):92:103 -> a
-    27:29:void lambda$removeDeadBuilderReferencesFromDynamicMethods$0(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$MethodToInvokeSwitchCaseAnalyzer,java.util.Map$Entry):95:97 -> a
-    30:33:void removeDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):112:115 -> a
-    30:33:void lambda$removeDeadBuilderReferencesFromDynamicMethods$0(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$MethodToInvokeSwitchCaseAnalyzer,java.util.Map$Entry):96 -> a
-    34:34:void removeDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):114:114 -> a
-    34:34:void lambda$removeDeadBuilderReferencesFromDynamicMethods$0(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$MethodToInvokeSwitchCaseAnalyzer,java.util.Map$Entry):96 -> a
-    35:37:void addInliningHeuristicsForBuilderInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set):125:127 -> a
-    38:42:void preprocessCallGraphBeforeCycleElimination(java.util.Map):131:135 -> a
-    43:173:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):0:130 -> a
-    43:173:void preprocessCallGraphBeforeCycleElimination(java.util.Map):135 -> a
-    174:178:void preprocessCallGraphBeforeCycleElimination(java.util.Map):136:140 -> a
-    179:184:void inlineCallsToDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner):152:157 -> a
-    185:191:void inlineCallsToDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner):156:162 -> a
-    192:192:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):196:196 -> a
-    193:1207:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1014 -> a
-    193:1207:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):197 -> a
-    1208:1218:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):199:209 -> a
-    1219:1219:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):126:126 -> a
-    1219:1219:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):210 -> a
-    1220:1222:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):213:215 -> a
-    1223:1538:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):0:315 -> a
-    1223:1538:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):215 -> a
-    1539:1539:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.graph.DexField):308:308 -> a
-    1539:1539:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):315 -> a
-    1539:1539:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):215 -> a
-    1540:1544:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):219:223 -> a
-    1545:1545:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement.asMaybeNull():86:86 -> a
-    1545:1545:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):224 -> a
-    1546:1553:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):224:231 -> a
-    1554:1554:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    1554:1554:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):231 -> a
-    1555:1555:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):231:231 -> a
-    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):52:52 -> b
+com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker -> com.android.tools.r8.s.a.n.e:
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    java.util.Map builders -> e
+    boolean enableAggressiveBuilderOptimization -> d
+    1:1:void <clinit>():59:59 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):68:68 -> <init>
+    2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):65:73 -> <init>
+    1:1:java.util.Map access$000(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):59:59 -> a
+    2:6:boolean computeEnableAggressiveBuilderOptimization():77:81 -> a
+    7:17:boolean computeEnableAggressiveBuilderOptimization():78:88 -> a
+    18:31:boolean computeEnableAggressiveBuilderOptimization():85:98 -> a
+    32:44:boolean computeEnableAggressiveBuilderOptimization():96:108 -> a
+    45:45:boolean computeEnableAggressiveBuilderOptimization():106:106 -> a
+    46:46:boolean lambda$computeEnableAggressiveBuilderOptimization$0(com.android.tools.r8.graph.DexClass):82:82 -> a
+    47:54:boolean deferDeadProtoBuilders(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.function.BooleanSupplier):160:167 -> a
+    55:71:void rewriteDeadBuilderReferencesFromDynamicMethods(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):181:197 -> a
+    72:73:void lambda$rewriteDeadBuilderReferencesFromDynamicMethods$2(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):190:191 -> a
+    74:74:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):205:205 -> a
+    75:1093:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1018 -> a
+    75:1093:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):206 -> a
+    1094:1099:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):208:213 -> a
+    1100:1100:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    1100:1100:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):213 -> a
+    1101:1102:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):214:215 -> a
+    1103:1103:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    1103:1103:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):215 -> a
+    1104:1109:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):219:224 -> a
+    1110:1110:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    1110:1110:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):224 -> a
+    1111:1118:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):230:237 -> a
+    1119:1119:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    1119:1119:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):237 -> a
+    1120:1127:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):239:246 -> a
+    1128:1128:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):34:34 -> a
+    1128:1128:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):246 -> a
+    1129:1138:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):240:249 -> a
+    1139:1139:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):248:248 -> a
+    1140:1140:boolean lambda$rewriteDeadBuilderReferencesFromDynamicMethod$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Instruction):222:222 -> a
+    1141:1142:boolean lambda$rewriteDeadBuilderReferencesFromDynamicMethod$4(com.android.tools.r8.ir.code.Instruction):233:234 -> a
+    1143:1145:void addInliningHeuristicsForBuilderInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set):259:261 -> a
+    1146:1150:void preprocessCallGraphBeforeCycleElimination(java.util.Map):265:269 -> a
+    1151:1300:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):0:149 -> a
+    1151:1300:void preprocessCallGraphBeforeCycleElimination(java.util.Map):269 -> a
+    1301:1305:void preprocessCallGraphBeforeCycleElimination(java.util.Map):270:274 -> a
+    1306:1311:void inlineCallsToDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner):286:291 -> a
+    1312:1318:void inlineCallsToDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner):290:296 -> a
+    1319:1319:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):330:330 -> a
+    1320:2338:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1018 -> a
+    1320:2338:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):331 -> a
+    2339:2355:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):333:349 -> a
+    2356:2708:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):0:352 -> a
+    2356:2708:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):349 -> a
+    2709:2709:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.graph.DexField):345:345 -> a
+    2709:2709:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):352 -> a
+    2709:2709:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):349 -> a
+    2710:2714:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):353:357 -> a
+    2715:2715:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement.asMaybeNull():86:86 -> a
+    2715:2715:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):358 -> a
+    2716:2723:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):358:365 -> a
+    2724:2724:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    2724:2724:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):365 -> a
+    2725:2725:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):365:365 -> a
+    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):59:59 -> b
+    2:2:boolean lambda$computeEnableAggressiveBuilderOptimization$1(com.android.tools.r8.graph.DexClass):90:90 -> b
+    3:4:com.android.tools.r8.graph.analysis.EnqueuerAnalysis createEnqueuerAnalysis():116:117 -> b
+    1:1:com.android.tools.r8.ir.analysis.proto.ProtoReferences access$200(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):59:59 -> c
 com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$1 -> com.android.tools.r8.s.a.n.c:
-com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$MethodToInvokeSwitchCaseAnalyzer -> com.android.tools.r8.s.a.n.d:
-    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker this$0 -> d
-    boolean $assertionsDisabled -> e
-    int newBuilderOrdinal -> c
-    1:1:void <clinit>():235:235 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$1):235:235 -> <init>
-    2:13:void <init>(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):239:250 -> <init>
-    1:1:boolean isInitialized():254:254 -> b
-    2:19:boolean switchCaseIsUnreachable(com.android.tools.r8.ir.code.Switch,int):259:276 -> b
-com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension -> com.android.tools.r8.s.a.n.e:
+    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker this$0 -> c
+    java.util.Set val$seen -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():117:117 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker,java.util.Set):117:117 -> <init>
+    1:1:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):120:120 -> a
+    2:8:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):122:128 -> a
+    9:9:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    9:9:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):128 -> a
+    10:17:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):128:135 -> a
+    18:21:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):134:137 -> a
+    22:30:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):136:144 -> a
+    31:34:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):143:146 -> a
+    35:40:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):145:150 -> a
+    41:41:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):149:149 -> a
+com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension -> com.android.tools.r8.s.a.n.d:
     com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set neverMerge -> d
     java.util.Set alwaysInline -> e
     java.util.Set bypassClinitforInlining -> f
     com.android.tools.r8.utils.PredicateSet alwaysClassInline -> c
-    1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set):296:302 -> <init>
-    1:1:void alwaysClassInlineGeneratedMessageLiteBuilders():320:320 -> a
-    2:3:boolean lambda$alwaysClassInlineGeneratedMessageLiteBuilders$0(com.android.tools.r8.graph.DexType):323:324 -> a
-    4:5:void bypassClinitforInliningNewBuilderMethods(com.android.tools.r8.graph.SubtypingInfo):328:329 -> a
-    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    6:6:void bypassClinitforInliningNewBuilderMethods(com.android.tools.r8.graph.SubtypingInfo):329 -> a
-    7:13:void bypassClinitforInliningNewBuilderMethods(com.android.tools.r8.graph.SubtypingInfo):329:335 -> a
-    14:14:boolean lambda$bypassClinitforInliningNewBuilderMethods$1(com.android.tools.r8.graph.DexEncodedMethod):333:333 -> a
-    1:1:void extend(com.android.tools.r8.graph.SubtypingInfo):306:306 -> b
-    2:2:void alwaysInlineCreateBuilderFromGeneratedMessageLite():346:346 -> b
-    2:2:void extend(com.android.tools.r8.graph.SubtypingInfo):309 -> b
-    3:3:void extend(com.android.tools.r8.graph.SubtypingInfo):312:312 -> b
-    4:4:void alwaysInlineBuildPartialFromGeneratedMessageLiteExtendableBuilder():342:342 -> b
-    4:4:void extend(com.android.tools.r8.graph.SubtypingInfo):315 -> b
-    5:6:void neverMergeGeneratedMessageLiteBuilder():353:354 -> b
-    5:6:void extend(com.android.tools.r8.graph.SubtypingInfo):316 -> b
-com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker -> com.android.tools.r8.s.a.n.g:
-    com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder encoder -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> d
-    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> b
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.ir.analysis.type.TypeElement stringType -> g
-    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> e
-    com.android.tools.r8.ir.analysis.type.TypeElement objectArrayType -> f
+    1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set):385:391 -> <init>
+    1:1:void alwaysClassInlineGeneratedMessageLiteBuilders():410:410 -> a
+    2:3:boolean lambda$alwaysClassInlineGeneratedMessageLiteBuilders$0(com.android.tools.r8.graph.DexType):413:414 -> a
+    4:5:void bypassClinitforInliningNewBuilderMethods(com.android.tools.r8.graph.SubtypingInfo):418:419 -> a
+    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    6:6:void bypassClinitforInliningNewBuilderMethods(com.android.tools.r8.graph.SubtypingInfo):419 -> a
+    7:13:void bypassClinitforInliningNewBuilderMethods(com.android.tools.r8.graph.SubtypingInfo):419:425 -> a
+    14:14:boolean lambda$bypassClinitforInliningNewBuilderMethods$1(com.android.tools.r8.graph.DexEncodedMethod):423:423 -> a
+    1:1:void extend(com.android.tools.r8.graph.SubtypingInfo):395:395 -> b
+    2:2:void alwaysInlineCreateBuilderFromGeneratedMessageLite():436:436 -> b
+    2:2:void extend(com.android.tools.r8.graph.SubtypingInfo):398 -> b
+    3:3:void neverMergeMessageLite():450:450 -> b
+    3:3:void extend(com.android.tools.r8.graph.SubtypingInfo):399 -> b
+    4:4:void extend(com.android.tools.r8.graph.SubtypingInfo):402:402 -> b
+    5:5:void alwaysInlineBuildPartialFromGeneratedMessageLiteExtendableBuilder():432:432 -> b
+    5:5:void extend(com.android.tools.r8.graph.SubtypingInfo):405 -> b
+    6:7:void neverMergeGeneratedMessageLiteBuilder():443:444 -> b
+    6:7:void extend(com.android.tools.r8.graph.SubtypingInfo):406 -> b
+com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker -> com.android.tools.r8.s.a.n.f:
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> e
+    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> f
+    com.android.tools.r8.ir.analysis.type.TypeElement objectArrayType -> g
+    com.android.tools.r8.ir.analysis.type.TypeElement stringType -> h
+    com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder encoder -> d
     1:1:void <clinit>():42:42 -> <clinit>
     1:11:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder,com.android.tools.r8.ir.analysis.proto.ProtoReferences):56:66 -> <init>
     12:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder,com.android.tools.r8.ir.analysis.proto.ProtoReferences):65:67 -> <init>
@@ -22871,7 +22899,7 @@
     12:12:void rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):150 -> a
     12:12:void rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):134 -> a
     12:12:void run(com.android.tools.r8.ir.code.IRCode):73 -> a
-    13:13:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    13:13:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     13:13:void rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):158 -> a
     13:13:void rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):150 -> a
     13:13:void rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):134 -> a
@@ -22880,13 +22908,13 @@
     14:14:void rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):150 -> a
     14:14:void rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):134 -> a
     14:14:void run(com.android.tools.r8.ir.code.IRCode):73 -> a
-    15:15:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296:296 -> a
+    15:15:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291:291 -> a
     15:15:void rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):156 -> a
     15:15:void rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):150 -> a
     15:15:void rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):134 -> a
     15:15:void run(com.android.tools.r8.ir.code.IRCode):73 -> a
     16:16:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    16:16:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296 -> a
+    16:16:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291 -> a
     16:16:void rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):156 -> a
     16:16:void rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):150 -> a
     16:16:void rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):134 -> a
@@ -22904,7 +22932,7 @@
     21:28:void rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):151 -> a
     21:28:void rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):134 -> a
     21:28:void run(com.android.tools.r8.ir.code.IRCode):73 -> a
-    29:29:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    29:29:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     29:29:void rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):177 -> a
     29:29:void rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):151 -> a
     29:29:void rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):134 -> a
@@ -22954,111 +22982,130 @@
     67:72:void lambda$forEachDynamicMethod$1(com.android.tools.r8.graph.DexItemFactory,java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):101:106 -> a
     73:73:void lambda$forEachDynamicMethod$2(com.android.tools.r8.ir.desugar.LambdaDescriptor):110:110 -> a
     74:77:com.android.tools.r8.ir.code.InvokeMethod getNewMessageInfoInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.ProtoReferences):198:201 -> a
-com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry -> com.android.tools.r8.s.a.n.h:
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> a
-    com.android.tools.r8.shaking.EnqueuerUseRegistryFactory FACTORY -> b
+com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry -> com.android.tools.r8.s.a.n.g:
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
+    com.android.tools.r8.shaking.EnqueuerUseRegistryFactory FACTORY -> a
     1:1:void <clinit>():18:18 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer):24:25 -> <init>
     1:1:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory getFactory():29:29 -> a
     1:5:boolean registerConstClass(com.android.tools.r8.graph.DexType):41:45 -> registerConstClass
     1:5:boolean registerStaticFieldRead(com.android.tools.r8.graph.DexField):57:61 -> registerStaticFieldRead
-com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy -> com.android.tools.r8.s.a.n.i:
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
-    com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy parent -> a
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy -> com.android.tools.r8.s.a.n.h:
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> c
+    com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy parent -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():21:21 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):29:32 -> <init>
     1:1:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):38:38 -> a
-    2:111:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isAbstractGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):0:109 -> a
-    2:111:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):38 -> a
-    112:118:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):39:45 -> a
-    119:241:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):0:122 -> a
-    119:241:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):45 -> a
-    242:242:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):45:45 -> a
-    243:377:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.ProgramMethod):0:134 -> a
-    243:377:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):45 -> a
-    378:378:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):47:47 -> a
-    379:392:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod):53:66 -> a
-    379:392:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
-    393:393:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isMethodToInvokeWithSimpleBody(com.android.tools.r8.graph.DexField):319:319 -> a
-    393:393:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod):67 -> a
-    393:393:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
-    394:397:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod):68:71 -> a
-    394:397:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
-    398:398:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isMethodToInvokeWithNonSimpleBody(com.android.tools.r8.graph.DexField):327:327 -> a
-    398:398:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod):72 -> a
-    398:398:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
-    399:402:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod):71:74 -> a
-    399:402:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
-com.android.tools.r8.ir.analysis.proto.ProtoReferences -> com.android.tools.r8.s.a.n.j:
-    com.android.tools.r8.graph.DexType wireFormatFieldType -> l
-    com.android.tools.r8.graph.DexType messageLiteType -> j
-    com.android.tools.r8.graph.DexString dynamicMethodName -> r
-    com.android.tools.r8.graph.DexString newBuilderMethodName -> t
-    com.android.tools.r8.graph.DexProto dynamicMethodProto -> u
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods generatedMessageLiteExtendableBuilderMethods -> p
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods generatedExtensionMethods -> m
-    com.android.tools.r8.graph.DexMethod newMessageInfoMethod -> x
-    com.android.tools.r8.graph.DexType extensionDescriptorType -> c
-    com.android.tools.r8.graph.DexType enumLiteMapType -> a
-    com.android.tools.r8.graph.DexType generatedMessageLiteBuilderType -> g
-    com.android.tools.r8.graph.DexType generatedExtensionType -> e
-    com.android.tools.r8.graph.DexType methodToInvokeType -> k
-    com.android.tools.r8.graph.DexType rawMessageInfoType -> i
-    com.android.tools.r8.graph.DexString findLiteExtensionByNumberName -> s
-    com.android.tools.r8.graph.DexProto findLiteExtensionByNumberProto -> v
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers methodToInvokeMembers -> q
-    com.android.tools.r8.graph.DexMethod rawMessageInfoConstructor -> y
-    com.android.tools.r8.graph.DexType extensionRegistryLiteType -> d
-    com.android.tools.r8.graph.DexMethod dynamicMethod -> w
-    com.android.tools.r8.graph.DexType extendableMessageType -> b
-    com.android.tools.r8.graph.DexType generatedMessageLiteExtendableBuilderType -> h
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods generatedMessageLiteBuilderMethods -> o
-    com.android.tools.r8.graph.DexType generatedMessageLiteType -> f
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods generatedMessageLiteMethods -> n
-    1:42:void <init>(com.android.tools.r8.graph.DexItemFactory):51:92 -> <init>
-    43:51:void <init>(com.android.tools.r8.graph.DexItemFactory):88:96 -> <init>
-    52:63:void <init>(com.android.tools.r8.graph.DexItemFactory):94:105 -> <init>
-    1:1:boolean isDynamicMethod(com.android.tools.r8.graph.DexMethod):114:114 -> a
-    2:2:boolean isDynamicMethod(com.android.tools.r8.graph.DexEncodedMethod):118:118 -> a
-    3:3:boolean isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):148:148 -> a
-    4:4:boolean isAbstractGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):109:109 -> a
-    4:4:boolean isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):150 -> a
-    1:1:boolean isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):126:126 -> b
-    1:2:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.DexMethod):138:139 -> c
-    1:1:boolean isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):154:154 -> d
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$1 -> com.android.tools.r8.s.a.n.j$a:
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods -> com.android.tools.r8.s.a.n.j$b:
+    2:129:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isAbstractGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):0:127 -> a
+    2:129:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):38 -> a
+    130:136:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):39:45 -> a
+    137:277:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):0:140 -> a
+    137:277:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):45 -> a
+    278:278:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):45:45 -> a
+    279:432:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.ProgramMethod):0:153 -> a
+    279:432:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):45 -> a
+    433:433:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):47:47 -> a
+    434:434:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):55:55 -> a
+    434:434:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
+    435:575:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):0:140 -> a
+    435:575:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):55 -> a
+    435:575:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
+    576:576:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):55:55 -> a
+    576:576:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
+    577:754:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isProtoLibraryClass(com.android.tools.r8.graph.DexProgramClass):0:177 -> a
+    577:754:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):55 -> a
+    577:754:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
+    755:773:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):56:74 -> a
+    755:773:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
+    774:774:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isMethodToInvokeWithSimpleBody(com.android.tools.r8.graph.DexField):356:356 -> a
+    774:774:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):75 -> a
+    774:774:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
+    775:778:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):76:79 -> a
+    775:778:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
+    779:779:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isMethodToInvokeWithNonSimpleBody(com.android.tools.r8.graph.DexField):364:364 -> a
+    779:779:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):80 -> a
+    779:779:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
+    780:783:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):79:82 -> a
+    780:783:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):46 -> a
+com.android.tools.r8.ir.analysis.proto.ProtoReferences -> com.android.tools.r8.s.a.n.i:
+    com.android.tools.r8.graph.DexType messageLiteType -> l
+    com.android.tools.r8.graph.DexType generatedMessageLiteExtendableMessageType -> j
+    com.android.tools.r8.graph.DexProto dynamicMethodProto -> y
+    com.android.tools.r8.graph.DexString defaultInstanceFieldName -> t
+    com.android.tools.r8.graph.DexType wireFormatFieldType -> n
+    com.android.tools.r8.graph.DexString findLiteExtensionByNumberName -> v
+    com.android.tools.r8.graph.DexString protobufPackageDescriptorPrefix -> x
+    com.android.tools.r8.graph.DexMethod newMessageInfoMethod -> B
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods generatedExtensionMethods -> o
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods generatedMessageLiteExtendableBuilderMethods -> r
+    com.android.tools.r8.graph.DexType extendableMessageType -> c
+    com.android.tools.r8.graph.DexType generatedMessageLiteType -> g
+    com.android.tools.r8.graph.DexType extensionRegistryLiteType -> e
+    com.android.tools.r8.graph.DexType rawMessageInfoType -> k
+    com.android.tools.r8.graph.DexType generatedMessageLiteExtendableBuilderType -> i
+    com.android.tools.r8.graph.DexProto findLiteExtensionByNumberProto -> z
+    com.android.tools.r8.graph.DexString dynamicMethodName -> u
+    com.android.tools.r8.graph.DexType methodToInvokeType -> m
+    com.android.tools.r8.graph.DexString newBuilderMethodName -> w
+    com.android.tools.r8.graph.DexMethod rawMessageInfoConstructor -> C
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers methodToInvokeMembers -> s
+    com.android.tools.r8.graph.DexMethod dynamicMethod -> A
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
+    com.android.tools.r8.graph.DexType extensionDescriptorType -> d
+    com.android.tools.r8.graph.DexType enumLiteMapType -> b
+    com.android.tools.r8.graph.DexType generatedMessageLiteBuilderType -> h
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods generatedMessageLiteMethods -> p
+    com.android.tools.r8.graph.DexType generatedExtensionType -> f
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods generatedMessageLiteBuilderMethods -> q
+    1:50:void <init>(com.android.tools.r8.graph.DexItemFactory):57:106 -> <init>
+    51:59:void <init>(com.android.tools.r8.graph.DexItemFactory):102:110 -> <init>
+    60:71:void <init>(com.android.tools.r8.graph.DexItemFactory):108:119 -> <init>
+    1:1:com.android.tools.r8.graph.DexField getDefaultInstanceField(com.android.tools.r8.graph.DexProgramClass):123:123 -> a
+    2:2:boolean isDynamicMethod(com.android.tools.r8.graph.DexMethod):132:132 -> a
+    3:3:boolean isDynamicMethod(com.android.tools.r8.graph.DexEncodedMethod):136:136 -> a
+    1:1:boolean isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):144:144 -> b
+    2:2:boolean isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):167:167 -> b
+    3:3:boolean isAbstractGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):127:127 -> b
+    3:3:boolean isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):169 -> b
+    1:2:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.DexMethod):157:158 -> c
+    1:1:boolean isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):173:173 -> d
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$1 -> com.android.tools.r8.s.a.n.i$a:
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods -> com.android.tools.r8.s.a.n.i$b:
     com.android.tools.r8.graph.DexMethod constructorWithClass -> b
     com.android.tools.r8.graph.DexMethod constructor -> a
-    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):157:157 -> <init>
-    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):162:166 -> <init>
-    7:19:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):164:176 -> <init>
-    20:20:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):174:174 -> <init>
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods -> com.android.tools.r8.s.a.n.j$c:
+    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):180:180 -> <init>
+    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):185:189 -> <init>
+    7:19:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):187:199 -> <init>
+    20:20:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):197:197 -> <init>
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods -> com.android.tools.r8.s.a.n.i$c:
     com.android.tools.r8.graph.DexMethod constructorMethod -> a
-    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):244:244 -> <init>
-    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):249:253 -> <init>
-    7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):251:258 -> <init>
-    15:15:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):256:256 -> <init>
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods -> com.android.tools.r8.s.a.n.j$d:
+    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):274:274 -> <init>
+    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):279:283 -> <init>
+    7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):281:288 -> <init>
+    15:15:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):286:286 -> <init>
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods -> com.android.tools.r8.s.a.n.i$d:
+    com.android.tools.r8.graph.DexMethod constructorMethod -> b
     com.android.tools.r8.graph.DexMethod buildPartialMethod -> a
-    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):263:263 -> <init>
-    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):267:271 -> <init>
-    7:7:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):269:269 -> <init>
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods -> com.android.tools.r8.s.a.n.j$e:
-    com.android.tools.r8.graph.DexMethod newSingularGeneratedExtension -> d
-    com.android.tools.r8.graph.DexMethod newRepeatedGeneratedExtension -> c
+    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):293:293 -> <init>
+    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):298:302 -> <init>
+    7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):300:307 -> <init>
+    15:15:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):305:305 -> <init>
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods -> com.android.tools.r8.s.a.n.i$e:
+    com.android.tools.r8.graph.DexMethod newSingularGeneratedExtension -> e
+    com.android.tools.r8.graph.DexMethod newRepeatedGeneratedExtension -> d
+    com.android.tools.r8.graph.DexMethod dynamicMethodBridgeMethodWithObject -> c
     com.android.tools.r8.graph.DexMethod dynamicMethodBridgeMethod -> b
     com.android.tools.r8.graph.DexMethod createBuilderMethod -> a
-    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):191:191 -> <init>
-    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):199:203 -> <init>
-    7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):201:208 -> <init>
-    15:22:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):206:213 -> <init>
-    23:30:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):211:218 -> <init>
-    31:46:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):216:231 -> <init>
-    47:47:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):229:229 -> <init>
-com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers -> com.android.tools.r8.s.a.n.j$f:
+    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):214:214 -> <init>
+    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):223:227 -> <init>
+    7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):225:232 -> <init>
+    15:22:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):230:237 -> <init>
+    23:31:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):235:243 -> <init>
+    32:39:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):241:248 -> <init>
+    40:55:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):246:261 -> <init>
+    56:56:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):259:259 -> <init>
+com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers -> com.android.tools.r8.s.a.n.i$f:
     com.android.tools.r8.graph.DexField newMutableInstanceField -> f
     com.android.tools.r8.graph.DexField newBuilderField -> e
     com.android.tools.r8.graph.DexField setMemoizedIsInitializedField -> g
@@ -23066,37 +23113,37 @@
     com.android.tools.r8.graph.DexField buildMessageInfoField -> a
     com.android.tools.r8.graph.DexField getParserField -> d
     com.android.tools.r8.graph.DexField getMemoizedIsInitializedField -> c
-    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):276:276 -> <init>
-    2:19:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):286:303 -> <init>
-com.android.tools.r8.ir.analysis.proto.ProtoShrinker -> com.android.tools.r8.s.a.n.k:
-    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> b
-    java.util.Set deadProtoTypes -> g
-    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker generatedMessageLiteBuilderShrinker -> e
-    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> a
-    com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker generatedExtensionRegistryShrinker -> c
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> f
-    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker generatedMessageLiteShrinker -> d
+    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):313:313 -> <init>
+    2:19:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):323:340 -> <init>
+com.android.tools.r8.ir.analysis.proto.ProtoShrinker -> com.android.tools.r8.s.a.n.j:
+    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> c
+    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker generatedMessageLiteBuilderShrinker -> f
+    java.util.Set deadProtoTypes -> h
+    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> b
+    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker generatedMessageLiteShrinker -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker generatedExtensionRegistryShrinker -> d
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> g
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):27:27 -> <init>
     2:21:void <init>(com.android.tools.r8.graph.AppView):25:44 -> <init>
     1:1:java.util.Set getDeadProtoTypes():48:48 -> a
     2:4:boolean verifyDeadProtoTypesNotReferenced(com.android.tools.r8.dex.VirtualFile):58:60 -> a
-    5:5:void com.android.tools.r8.utils.InternalOptions.checkAssertionsEnabled():716:716 -> a
+    5:5:void com.android.tools.r8.utils.InternalOptions.checkAssertionsEnabled():712:712 -> a
     5:5:void setDeadProtoTypes(java.util.Set):53 -> a
     6:6:void setDeadProtoTypes(java.util.Set):54:54 -> a
-    7:7:void com.android.tools.r8.utils.InternalOptions.checkAssertionsEnabled():717:717 -> a
+    7:7:void com.android.tools.r8.utils.InternalOptions.checkAssertionsEnabled():713:713 -> a
     7:7:void setDeadProtoTypes(java.util.Set):53 -> a
-com.android.tools.r8.ir.analysis.proto.ProtoUtils -> com.android.tools.r8.s.a.n.l:
+com.android.tools.r8.ir.analysis.proto.ProtoUtils -> com.android.tools.r8.s.a.n.k:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():11:11 -> <clinit>
     boolean isProto2(int) -> a
     1:3:com.android.tools.r8.ir.code.Value getInfoValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):17:19 -> a
     1:3:com.android.tools.r8.ir.code.Value getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24:26 -> b
-com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder -> com.android.tools.r8.s.a.n.n:
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
-    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> a
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder -> com.android.tools.r8.s.a.n.m:
+    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> b
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():68:68 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences):73:75 -> <init>
     boolean lambda$createObjectIterator$0(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.Instruction) -> a
@@ -23111,7 +23158,7 @@
     83:120:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):144:181 -> a
     121:127:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):178:184 -> a
     128:137:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):191:200 -> a
-    138:139:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexClass.lookupUniqueInstanceFieldWithName(com.android.tools.r8.graph.DexString):372:373 -> a
+    138:139:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexClass.lookupUniqueInstanceFieldWithName(com.android.tools.r8.graph.DexString):370:371 -> a
     138:139:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):200 -> a
     140:171:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):202:233 -> a
     172:172:int invalidInfoFailure():237:237 -> a
@@ -23123,7 +23170,7 @@
     2:21:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):301:320 -> b
     22:22:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):313:313 -> b
     23:23:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):302:302 -> b
-com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1 -> com.android.tools.r8.s.a.n.m:
+com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1 -> com.android.tools.r8.s.a.n.l:
     com.android.tools.r8.graph.DexString val$info -> b
     com.android.tools.r8.utils.ThrowingCharIterator charIterator -> a
     1:3:void <init>(com.android.tools.r8.graph.DexString):255:257 -> <init>
@@ -23136,7 +23183,7 @@
     9:9:int nextInt():287:287 -> b
     10:10:int nextInt():276:276 -> b
     11:11:int nextInt():267:267 -> b
-com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2 -> com.android.tools.r8.s.a.n.n$a:
+com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2 -> com.android.tools.r8.s.a.n.m$a:
     com.android.tools.r8.ir.code.Value val$objectsValue -> c
     com.android.tools.r8.ir.code.InstructionIterator val$instructionIterator -> b
     int expectedNextIndex -> a
@@ -23151,10 +23198,10 @@
     16:16:java.lang.Object next():320 -> b
     17:17:com.android.tools.r8.ir.code.Value next():342:342 -> b
     17:17:java.lang.Object next():320 -> b
-com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$InvalidRawMessageInfoException -> com.android.tools.r8.s.a.n.n$b:
+com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$InvalidRawMessageInfoException -> com.android.tools.r8.s.a.n.m$b:
     1:1:void <init>():365:365 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1):365:365 -> <init>
-com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder -> com.android.tools.r8.s.a.n.o:
+com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder -> com.android.tools.r8.s.a.n.n:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
     1:2:void <init>(com.android.tools.r8.graph.DexItemFactory):24:25 -> <init>
     1:1:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):29:29 -> a
@@ -23167,36 +23214,36 @@
     55:70:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):81:96 -> a
     55:70:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
     1:12:java.util.List encodeObjects(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):100:111 -> b
-com.android.tools.r8.ir.analysis.proto.schema.DeadProtoFieldObject -> com.android.tools.r8.s.a.n.p.a:
+com.android.tools.r8.ir.analysis.proto.schema.DeadProtoFieldObject -> com.android.tools.r8.s.a.n.o.a:
     com.android.tools.r8.graph.DexString name -> b
     com.android.tools.r8.graph.DexType holder -> a
     1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):20:22 -> <init>
     1:1:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):27:27 -> a
     boolean isDeadProtoFieldObject() -> e
     1:1:java.lang.String toString():37:37 -> toString
-com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject -> com.android.tools.r8.s.a.n.p.b:
+com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject -> com.android.tools.r8.s.a.n.o.b:
     com.android.tools.r8.graph.DexField field -> a
     1:2:void <init>(com.android.tools.r8.graph.DexField):23:24 -> <init>
     com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject asLiveProtoFieldObject() -> a
     1:1:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):34:34 -> a
-    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     2:2:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):34 -> a
     3:8:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35:40 -> a
     boolean isLiveProtoFieldObject() -> f
     1:1:com.android.tools.r8.graph.DexField getField():28:28 -> j
     1:1:java.lang.String toString():55:55 -> toString
-com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension -> com.android.tools.r8.s.a.n.p.c:
-    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> c
-    java.util.Set dynamicMethodsWithTracedProtoObjects -> h
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> d
-    boolean $assertionsDisabled -> k
-    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> b
-    java.util.Map extensionGraph -> j
-    java.util.Map liveProtos -> e
-    java.util.Map seenButNotLiveProtos -> f
-    java.util.Map reachesMapOrRequiredFieldFromMessageCache -> g
-    com.android.tools.r8.utils.collections.ProgramMethodSet findLiteExtensionByNumberMethods -> i
+com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension -> com.android.tools.r8.s.a.n.o.c:
+    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> d
+    java.util.Set dynamicMethodsWithTracedProtoObjects -> i
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> c
+    java.util.Map extensionGraph -> k
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> e
+    java.util.Map liveProtos -> f
+    java.util.Map seenButNotLiveProtos -> g
+    com.android.tools.r8.utils.collections.ProgramMethodSet findLiteExtensionByNumberMethods -> j
+    java.util.Map reachesMapOrRequiredFieldFromMessageCache -> h
     1:1:void <clinit>():59:59 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):90:90 -> <init>
     2:30:void <init>(com.android.tools.r8.graph.AppView):67:95 -> <init>
@@ -23206,68 +23253,68 @@
     15:22:void markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):115:122 -> a
     15:22:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):103 -> a
     23:28:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod):132:137 -> a
-    29:151:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):0:122 -> a
-    29:151:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod):137 -> a
-    152:162:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod):141:151 -> a
-    163:171:void createProtoMessageInfoFromDynamicMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map):156:164 -> a
-    172:184:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):169:181 -> a
-    185:210:void tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):460:485 -> a
-    185:210:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):182 -> a
-    211:215:void tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):484:488 -> a
-    211:215:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):182 -> a
-    216:216:void tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):487:487 -> a
-    216:216:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):182 -> a
-    217:217:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):185:185 -> a
-    218:234:void lambda$populateExtensionGraph$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,java.util.Set):217:233 -> a
-    235:259:java.util.Map collectExtensionFields():246:270 -> a
-    260:260:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    260:260:java.util.Map collectExtensionFields():270 -> a
-    261:275:java.util.Map collectExtensionFields():270:284 -> a
-    276:276:java.util.Map collectExtensionFields():283:283 -> a
-    277:277:java.util.Map collectExtensionFields():282:282 -> a
-    278:278:java.util.Set lambda$collectExtensionFields$1(com.android.tools.r8.graph.DexProgramClass):277:277 -> a
-    279:287:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):296:304 -> a
-    288:288:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):42:42 -> a
-    288:288:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):304 -> a
-    289:306:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):306:323 -> a
-    307:307:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.isConstructor(com.android.tools.r8.graph.DexMethod):187:187 -> a
-    307:307:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):323 -> a
-    308:325:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):324:341 -> a
-    326:328:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):340:342 -> a
-    329:329:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):335:335 -> a
-    330:359:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):354:383 -> a
-    360:396:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):382:418 -> a
-    397:398:int com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):143:144 -> a
-    397:398:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):419 -> a
-    399:428:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):420:449 -> a
-    429:429:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):447:447 -> a
-    430:434:void registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):499:503 -> a
-    430:434:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):454 -> a
-    435:493:void registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):511:569 -> a
-    435:493:void registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):504 -> a
-    435:493:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):454 -> a
-    494:494:void registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):568:568 -> a
-    494:494:void registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):504 -> a
-    494:494:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):454 -> a
-    495:495:void registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):563:563 -> a
-    495:495:void registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):504 -> a
-    495:495:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):454 -> a
-    496:497:boolean lambda$markMapOrRequiredFieldsAsReachable$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):437:438 -> a
-    498:518:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):579:599 -> a
-    519:525:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):610:616 -> a
-    526:552:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):615:641 -> a
-    553:561:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):650:658 -> a
-    562:562:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    562:562:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):658 -> a
-    563:577:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):658:672 -> a
+    29:169:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):0:140 -> a
+    29:169:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod):137 -> a
+    170:180:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod):141:151 -> a
+    181:189:void createProtoMessageInfoFromDynamicMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map):156:164 -> a
+    190:202:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):169:181 -> a
+    203:228:void tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):460:485 -> a
+    203:228:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):182 -> a
+    229:233:void tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):484:488 -> a
+    229:233:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):182 -> a
+    234:234:void tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):487:487 -> a
+    234:234:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):182 -> a
+    235:235:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):185:185 -> a
+    236:252:void lambda$populateExtensionGraph$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,java.util.Set):217:233 -> a
+    253:277:java.util.Map collectExtensionFields():246:270 -> a
+    278:278:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    278:278:java.util.Map collectExtensionFields():270 -> a
+    279:293:java.util.Map collectExtensionFields():270:284 -> a
+    294:294:java.util.Map collectExtensionFields():283:283 -> a
+    295:295:java.util.Map collectExtensionFields():282:282 -> a
+    296:296:java.util.Set lambda$collectExtensionFields$1(com.android.tools.r8.graph.DexProgramClass):277:277 -> a
+    297:305:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):296:304 -> a
+    306:306:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):42:42 -> a
+    306:306:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):304 -> a
+    307:324:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):306:323 -> a
+    325:325:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.isConstructor(com.android.tools.r8.graph.DexMethod):210:210 -> a
+    325:325:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):323 -> a
+    326:343:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):324:341 -> a
+    344:346:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):340:342 -> a
+    347:347:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):335:335 -> a
+    348:377:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):354:383 -> a
+    378:414:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):382:418 -> a
+    415:416:int com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):143:144 -> a
+    415:416:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):419 -> a
+    417:446:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):420:449 -> a
+    447:447:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
+    448:452:void registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):499:503 -> a
+    448:452:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):454 -> a
+    453:511:void registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):511:569 -> a
+    453:511:void registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):504 -> a
+    453:511:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):454 -> a
+    512:512:void registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):568:568 -> a
+    512:512:void registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):504 -> a
+    512:512:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):454 -> a
+    513:513:void registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):563:563 -> a
+    513:513:void registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):504 -> a
+    513:513:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):454 -> a
+    514:515:boolean lambda$markMapOrRequiredFieldsAsReachable$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):437:438 -> a
+    516:536:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):579:599 -> a
+    537:543:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):610:616 -> a
+    544:570:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):615:641 -> a
+    571:579:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):650:658 -> a
+    580:580:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    580:580:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):658 -> a
+    581:595:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):658:672 -> a
     1:25:void populateExtensionGraph(com.android.tools.r8.shaking.Enqueuer):214:238 -> b
     26:26:java.util.Set lambda$populateExtensionGraphWithExtensionFieldDefinition$2(com.android.tools.r8.graph.DexType):341:341 -> b
-com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo -> com.android.tools.r8.s.a.n.p.d:
-    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType type -> b
-    java.util.List objects -> d
-    boolean $assertionsDisabled -> e
-    java.util.OptionalInt auxData -> c
-    int number -> a
+com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo -> com.android.tools.r8.s.a.n.o.d:
+    java.util.List objects -> e
+    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType type -> c
+    java.util.OptionalInt auxData -> d
+    boolean $assertionsDisabled -> a
+    int number -> b
     1:1:void <clinit>():17:17 -> <clinit>
     1:5:void <init>(int,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType,java.util.OptionalInt,java.util.List):36:40 -> <init>
     1:1:int getAuxData():48:48 -> a
@@ -23292,16 +23339,16 @@
     1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType getType():66:66 -> d
     1:1:boolean hasAuxData():44:44 -> e
     1:15:java.lang.String toString():209:223 -> toString
-com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject -> com.android.tools.r8.s.a.n.p.e:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject -> com.android.tools.r8.s.a.n.o.e:
     1:1:void <init>():7:7 -> <init>
     com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject asProtoFieldObject() -> b
     boolean isProtoFieldObject() -> g
-com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType -> com.android.tools.r8.s.a.n.p.f:
-    boolean $assertionsDisabled -> e
-    boolean isRequired -> b
-    boolean needsIsInitializedCheck -> c
-    int id -> a
-    boolean isMapFieldWithProto2EnumValue -> d
+com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType -> com.android.tools.r8.s.a.n.o.f:
+    boolean isMapFieldWithProto2EnumValue -> e
+    boolean $assertionsDisabled -> a
+    int id -> b
+    boolean isRequired -> c
+    boolean needsIsInitializedCheck -> d
     1:1:void <clinit>():12:12 -> <clinit>
     1:6:void <init>(int,boolean,boolean,boolean):37:42 -> <init>
     com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType asOneOf() -> a
@@ -23323,14 +23370,14 @@
     1:1:boolean isValid():115:115 -> l
     1:1:boolean needsIsInitializedCheck():120:120 -> m
     1:8:int serialize():140:147 -> n
-com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory -> com.android.tools.r8.s.a.n.p.g:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory -> com.android.tools.r8.s.a.n.o.g:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap fieldTypes -> a
     1:3:void <init>():10:12 -> <init>
     1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):15:15 -> a
     2:60:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.fromFieldIdWithExtraBits(int):0:58 -> a
     2:60:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):17 -> a
     61:61:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):18:18 -> a
-com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo -> com.android.tools.r8.s.a.n.p.i:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo -> com.android.tools.r8.s.a.n.o.i:
     java.util.LinkedList hasBitsObjects -> d
     java.util.LinkedList oneOfObjects -> e
     int flags -> b
@@ -23351,14 +23398,14 @@
     1:1:int numberOfHasBitsObjects():235:235 -> j
     1:1:int numberOfOneOfObjects():239:239 -> k
     1:9:java.lang.String toString():244:252 -> toString
-com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1 -> com.android.tools.r8.s.a.n.p.h:
-com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$Builder -> com.android.tools.r8.s.a.n.p.i$a:
-    java.util.LinkedList hasBitsObjects -> d
-    boolean $assertionsDisabled -> f
-    java.util.LinkedList oneOfObjects -> e
-    int flags -> b
-    com.android.tools.r8.graph.ProgramMethod dynamicMethod -> a
-    java.util.LinkedList fields -> c
+com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1 -> com.android.tools.r8.s.a.n.o.h:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$Builder -> com.android.tools.r8.s.a.n.o.i$a:
+    java.util.LinkedList fields -> d
+    java.util.LinkedList hasBitsObjects -> e
+    java.util.LinkedList oneOfObjects -> f
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.ProgramMethod dynamicMethod -> b
+    int flags -> c
     1:1:void <clinit>():23:23 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1):23:23 -> <init>
     2:3:void <init>(com.android.tools.r8.graph.ProgramMethod):33:34 -> <init>
@@ -23374,7 +23421,7 @@
     49:86:void removeUnusedSharedData():129:166 -> c
     87:87:void removeUnusedSharedData():165:165 -> c
     88:89:void removeUnusedSharedData():84:85 -> c
-com.android.tools.r8.ir.analysis.proto.schema.ProtoObject -> com.android.tools.r8.s.a.n.p.j:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoObject -> com.android.tools.r8.s.a.n.o.j:
     1:1:void <init>():11:11 -> <init>
     com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject asLiveProtoFieldObject() -> a
     com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
@@ -23386,24 +23433,24 @@
     boolean isProtoFieldObject() -> g
     boolean isProtoObjectFromStaticGet() -> h
     boolean isProtoTypeObject() -> i
-com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromInvokeStatic -> com.android.tools.r8.s.a.n.p.k:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromInvokeStatic -> com.android.tools.r8.s.a.n.o.k:
     com.android.tools.r8.graph.DexMethod method -> a
     1:2:void <init>(com.android.tools.r8.graph.DexMethod):21:22 -> <init>
     1:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):27:29 -> a
-    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     4:4:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):28 -> a
     5:5:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):30:30 -> a
-com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet -> com.android.tools.r8.s.a.n.p.l:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet -> com.android.tools.r8.s.a.n.o.l:
     com.android.tools.r8.graph.DexField field -> a
     1:2:void <init>(com.android.tools.r8.graph.DexField):20:21 -> <init>
     1:2:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):30:31 -> a
-    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     3:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):31 -> a
     4:4:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):32:32 -> a
     com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet asProtoObjectFromStaticGet() -> c
     boolean isProtoObjectFromStaticGet() -> h
     1:1:com.android.tools.r8.graph.DexField getField():25:25 -> j
-com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType -> com.android.tools.r8.s.a.n.p.m:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType -> com.android.tools.r8.s.a.n.o.m:
     boolean $assertionsDisabled -> f
     1:1:void <clinit>():9:9 -> <clinit>
     1:1:void <init>(int,boolean,boolean,boolean):18:18 -> <init>
@@ -23416,7 +23463,7 @@
     boolean isRepeated() -> i
     boolean isSingular() -> k
     1:1:boolean isValid():52:52 -> l
-com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair -> com.android.tools.r8.s.a.n.p.n:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair -> com.android.tools.r8.s.a.n.o.n:
     com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject oneOfCaseObject -> b
     com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject oneOfObject -> a
     1:3:void <init>(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject):15:17 -> <init>
@@ -23424,16 +23471,16 @@
     2:3:void forEach(java.util.function.Consumer):29:30 -> a
     1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject getOneOfObject():21:21 -> b
     1:1:java.util.stream.Stream stream():34:34 -> c
-com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject -> com.android.tools.r8.s.a.n.p.o:
+com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject -> com.android.tools.r8.s.a.n.o.o:
     com.android.tools.r8.graph.DexType type -> a
     1:2:void <init>(com.android.tools.r8.graph.DexType):16:17 -> <init>
     1:1:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26:26 -> a
-    2:2:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.IRCode.createConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):1145:1145 -> a
+    2:2:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.IRCode.createConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):1149:1149 -> a
     2:2:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26 -> a
-    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    3:3:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.IRCode.createConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):1145 -> a
+    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    3:3:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.IRCode.createConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):1149 -> a
     3:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26 -> a
-    4:4:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.IRCode.createConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):1146:1146 -> a
+    4:4:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.IRCode.createConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):1150:1150 -> a
     4:4:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26 -> a
     com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject asProtoTypeObject() -> d
     boolean isProtoTypeObject() -> i
@@ -23445,9 +23492,9 @@
     1:3:void <clinit>():24:26 -> <clinit>
     1:1:void <init>(java.lang.String,int):23:23 -> <init>
 com.android.tools.r8.ir.analysis.type.ArrayTypeElement -> com.android.tools.r8.s.a.p.a:
-    com.android.tools.r8.ir.analysis.type.NullabilityVariants variants -> g
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.ir.analysis.type.TypeElement memberTypeLattice -> f
+    boolean $assertionsDisabled -> f
+    com.android.tools.r8.ir.analysis.type.TypeElement memberTypeLattice -> g
+    com.android.tools.r8.ir.analysis.type.NullabilityVariants variants -> h
     1:1:void <clinit>():15:15 -> <clinit>
     1:4:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.NullabilityVariants):31:34 -> <init>
     1:3:com.android.tools.r8.ir.analysis.type.TypeElement getBaseType():68:70 -> T
@@ -23506,11 +23553,11 @@
     1:1:int hashCode():31:31 -> hashCode
     boolean isChar() -> v
 com.android.tools.r8.ir.analysis.type.ClassTypeElement -> com.android.tools.r8.s.a.p.f:
-    com.android.tools.r8.graph.DexType type -> i
-    boolean $assertionsDisabled -> j
-    java.util.Set lazyInterfaces -> f
-    com.android.tools.r8.graph.AppView appView -> g
-    com.android.tools.r8.ir.analysis.type.NullabilityVariants variants -> h
+    java.util.Set lazyInterfaces -> g
+    com.android.tools.r8.graph.DexType type -> j
+    boolean $assertionsDisabled -> f
+    com.android.tools.r8.graph.AppView appView -> h
+    com.android.tools.r8.ir.analysis.type.NullabilityVariants variants -> i
     1:1:void <clinit>():26:26 -> <clinit>
     1:7:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,java.util.Set,com.android.tools.r8.ir.analysis.type.NullabilityVariants,com.android.tools.r8.graph.AppView):60:66 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement asMeetWithNotNull():123:123 -> R
@@ -23526,7 +23573,7 @@
     8:10:boolean isBasedOnMissingClass(com.android.tools.r8.graph.AppView):106:108 -> a
     11:11:boolean lambda$isBasedOnMissingClass$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):108:108 -> a
     12:29:com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(java.util.function.Function,com.android.tools.r8.graph.AppView):150:167 -> a
-    30:30:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    30:30:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     30:30:com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(java.util.function.Function,com.android.tools.r8.graph.AppView):170 -> a
     31:33:com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(java.util.function.Function,com.android.tools.r8.graph.AppView):171:173 -> a
     34:34:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
@@ -23543,7 +23590,7 @@
     184:239:java.lang.Object com.android.tools.r8.utils.LRUCacheTable.get(java.lang.Object,java.lang.Object):0:55 -> a
     184:239:java.util.Set computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Set):295 -> a
     240:267:java.util.Set computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Set):295:322 -> a
-    268:268:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    268:268:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     268:268:java.util.Set computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Set):324 -> a
     269:308:java.util.Set computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Set):326:365 -> a
     309:309:java.util.Set computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Set):289:289 -> a
@@ -23566,9 +23613,9 @@
     com.android.tools.r8.graph.DexType itf -> a
     1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):236:238 -> <init>
 com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater -> com.android.tools.r8.s.a.p.g:
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> c
-    java.util.function.Function mapping -> b
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.function.Function mapping -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():21:21 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):27:27 -> <init>
     2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Function):31:33 -> <init>
@@ -23637,11 +23684,11 @@
     1:1:com.android.tools.r8.ir.analysis.type.Nullability maybeNull():87:87 -> h
     1:13:java.lang.String toString():96:108 -> toString
 com.android.tools.r8.ir.analysis.type.NullabilityVariants -> com.android.tools.r8.s.a.p.m:
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement maybeNullVariant -> a
-    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement bottomVariant -> d
-    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement definitelyNullVariant -> b
-    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement definitelyNotNullVariant -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement definitelyNotNullVariant -> d
+    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement bottomVariant -> e
+    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement maybeNullVariant -> b
+    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement definitelyNullVariant -> c
     1:1:void <clinit>():10:10 -> <clinit>
     1:1:void <init>():10:10 -> <init>
     1:3:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement create(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.Function):19:21 -> a
@@ -23674,9 +23721,9 @@
     95:95:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):118:118 -> a
     com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement asPrimitiveType() -> c
 com.android.tools.r8.ir.analysis.type.ReferenceTypeElement -> com.android.tools.r8.s.a.p.o:
-    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement NULL_INSTANCE -> d
-    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement NULL_BOTTOM_INSTANCE -> e
-    com.android.tools.r8.ir.analysis.type.Nullability nullability -> c
+    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement NULL_BOTTOM_INSTANCE -> d
+    com.android.tools.r8.ir.analysis.type.Nullability nullability -> e
+    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement NULL_INSTANCE -> c
     1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement.create():23:23 -> <clinit>
     1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement.access$200():11 -> <clinit>
     1:1:void <clinit>():57 -> <clinit>
@@ -23726,12 +23773,12 @@
     1:1:com.android.tools.r8.ir.analysis.type.TopTypeElement getInstance():15:15 -> P
     1:1:int hashCode():35:35 -> hashCode
 com.android.tools.r8.ir.analysis.type.TypeAnalysis -> com.android.tools.r8.s.a.p.t:
-    java.util.Deque worklist -> d
-    com.android.tools.r8.graph.AppView appView -> c
-    boolean $assertionsDisabled -> e
-    int $r8$clinit -> f
-    com.android.tools.r8.ir.analysis.type.TypeAnalysis$Mode mode -> b
-    boolean mayHaveImpreciseTypes -> a
+    com.android.tools.r8.ir.analysis.type.TypeAnalysis$Mode mode -> d
+    java.util.Deque worklist -> f
+    com.android.tools.r8.graph.AppView appView -> e
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
+    boolean mayHaveImpreciseTypes -> c
     1:1:void <clinit>():23:23 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,boolean):45:45 -> <init>
     2:14:void <init>(com.android.tools.r8.graph.AppView,boolean):35:47 -> <init>
@@ -23877,8 +23924,8 @@
     1:1:com.android.tools.r8.ir.analysis.value.EmptyObjectState getInstance():19:19 -> b
     1:1:int hashCode():44:44 -> hashCode
 com.android.tools.r8.ir.analysis.value.NonEmptyObjectState -> com.android.tools.r8.s.a.q.e:
-    java.util.Map state -> a
-    boolean $assertionsDisabled -> b
+    java.util.Map state -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:4:void <init>(java.util.Map):20:23 -> <init>
     boolean isEmpty() -> a
@@ -23893,8 +23940,8 @@
     boolean isEmpty() -> a
     com.android.tools.r8.ir.analysis.value.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense) -> a
 com.android.tools.r8.ir.analysis.value.ObjectState$Builder -> com.android.tools.r8.s.a.q.f:
-    java.util.Map state -> a
-    boolean $assertionsDisabled -> b
+    java.util.Map state -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():38:38 -> <clinit>
     1:3:void <init>():38:40 -> <init>
     1:3:void recordFieldHasValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue):43:45 -> a
@@ -23903,8 +23950,8 @@
     5:5:com.android.tools.r8.ir.analysis.value.ObjectState build():50 -> a
     6:6:com.android.tools.r8.ir.analysis.value.ObjectState build():50:50 -> a
 com.android.tools.r8.ir.analysis.value.SingleConstClassValue -> com.android.tools.r8.s.a.q.h:
-    com.android.tools.r8.graph.DexType type -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexType type -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():26:26 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexType):31:32 -> <init>
     1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):26:26 -> a
@@ -23914,18 +23961,18 @@
     13:398:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):76 -> a
     399:401:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):76:78 -> a
     402:402:boolean com.android.tools.r8.ir.code.ConstClass.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):132:132 -> a
-    402:402:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574 -> a
+    402:402:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):569 -> a
     402:402:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):78 -> a
     403:403:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):78:78 -> a
     404:406:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):85:87 -> a
-    407:407:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    407:407:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     407:407:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):87 -> a
     408:410:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):89:91 -> a
     411:415:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):90:94 -> a
     416:418:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):100:102 -> a
-    419:419:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    419:419:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     419:419:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):102 -> a
-    420:420:boolean com.android.tools.r8.graph.DexClass.isPublic():524:524 -> a
+    420:420:boolean com.android.tools.r8.graph.DexClass.isPublic():531:531 -> a
     420:420:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):103 -> a
     421:423:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):103:105 -> a
     424:424:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):111:111 -> a
@@ -23939,8 +23986,8 @@
     1:1:void <init>():7:7 -> <init>
     boolean isSingleConstValue() -> n
 com.android.tools.r8.ir.analysis.value.SingleFieldValue -> com.android.tools.r8.s.a.q.j:
-    com.android.tools.r8.graph.DexField field -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexField field -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():28:28 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexField):32:33 -> <init>
     1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):28:28 -> a
@@ -23951,10 +23998,10 @@
     19:19:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():155:155 -> a
     19:19:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):98 -> a
     20:20:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):101:101 -> a
-    21:21:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    21:21:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     21:21:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):101 -> a
     22:22:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):103:103 -> a
-    23:23:boolean com.android.tools.r8.graph.DexClass.isPublic():524:524 -> a
+    23:23:boolean com.android.tools.r8.graph.DexClass.isPublic():531:531 -> a
     23:23:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):106 -> a
     1:1:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):28:28 -> b
     2:8:boolean mayHaveFinalizeMethodDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):43:49 -> b
@@ -23966,8 +24013,8 @@
     1:1:com.android.tools.r8.graph.DexField getField():37:37 -> r
     com.android.tools.r8.ir.analysis.value.ObjectState getState() -> s
 com.android.tools.r8.ir.analysis.value.SingleNumberValue -> com.android.tools.r8.s.a.q.k:
-    long value -> a
-    boolean $assertionsDisabled -> b
+    long value -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():20:20 -> <clinit>
     1:2:void <init>(long):25:26 -> <init>
     boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
@@ -23982,8 +24029,8 @@
     1:2:boolean getBooleanValue():45:46 -> r
     1:1:java.lang.String toString():65:65 -> toString
 com.android.tools.r8.ir.analysis.value.SingleStatefulFieldValue -> com.android.tools.r8.s.a.q.l:
-    com.android.tools.r8.ir.analysis.value.ObjectState state -> c
-    boolean $assertionsDisabled -> d
+    boolean $assertionsDisabled -> c
+    com.android.tools.r8.ir.analysis.value.ObjectState state -> d
     1:1:void <clinit>():10:10 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.ObjectState):16:18 -> <init>
     1:5:boolean equals(java.lang.Object):33:37 -> equals
@@ -23998,8 +24045,8 @@
     1:1:com.android.tools.r8.ir.analysis.value.ObjectState getState():18 -> s
     1:1:java.lang.String toString():23:23 -> toString
 com.android.tools.r8.ir.analysis.value.SingleStringValue -> com.android.tools.r8.s.a.q.n:
-    com.android.tools.r8.graph.DexString string -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.DexString string -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():25:25 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexString):30:31 -> <init>
     boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
@@ -24058,46 +24105,46 @@
     com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction) -> a
     boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction) -> b
 com.android.tools.r8.ir.code.AlwaysMaterializingDefinition -> com.android.tools.r8.s.b.c:
-    1:1:void <init>(com.android.tools.r8.ir.code.Value):18:18 -> <init>
-    1:1:int maxInValueRegister():56:56 -> G2
+    1:1:void <init>(com.android.tools.r8.ir.code.Value):19:19 -> <init>
+    1:1:int maxInValueRegister():57:57 -> G2
     int maxOutValueRegister() -> H2
     int opcode() -> I2
-    boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
-    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):28:28 -> a
-    2:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):39:41 -> a
-    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):40:40 -> a
-    6:6:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):46:46 -> a
-    7:7:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):66:66 -> a
+    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):29:29 -> a
+    2:2:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35:35 -> a
+    3:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):40:42 -> a
+    6:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):41:41 -> a
+    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):47:47 -> a
+    8:8:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):67:67 -> a
     boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction) -> b
 com.android.tools.r8.ir.code.AlwaysMaterializingNop -> com.android.tools.r8.s.b.d:
-    1:1:void <init>():19:19 -> <init>
-    1:1:int maxInValueRegister():54:54 -> G2
-    1:1:int maxOutValueRegister():59:59 -> H2
-    int opcode() -> I2
-    boolean hasInvariantOutType() -> N0
-    boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
-    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
-    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):29:29 -> a
-    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):39:39 -> a
-    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):44:44 -> a
-    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):65:65 -> a
-    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):49:49 -> b
-    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
-com.android.tools.r8.ir.code.AlwaysMaterializingUser -> com.android.tools.r8.s.b.e:
-    boolean $assertionsDisabled -> h
-    1:1:void <clinit>():15:15 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.code.Value):18:18 -> <init>
-    1:2:int maxInValueRegister():54:55 -> G2
+    1:1:void <init>():20:20 -> <init>
+    1:1:int maxInValueRegister():55:55 -> G2
     1:1:int maxOutValueRegister():60:60 -> H2
     int opcode() -> I2
     boolean hasInvariantOutType() -> N0
-    boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
+    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
+    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):30:30 -> a
+    2:2:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35:35 -> a
+    3:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):40:40 -> a
+    4:4:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):45:45 -> a
+    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):66:66 -> a
+    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):50:50 -> b
+    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
+com.android.tools.r8.ir.code.AlwaysMaterializingUser -> com.android.tools.r8.s.b.e:
+    boolean $assertionsDisabled -> h
+    1:1:void <clinit>():16:16 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.code.Value):19:19 -> <init>
+    1:2:int maxInValueRegister():55:56 -> G2
+    1:1:int maxOutValueRegister():61:61 -> H2
+    int opcode() -> I2
+    boolean hasInvariantOutType() -> N0
     1:70:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forAlwaysMaterializingUser():0:69 -> a
-    1:70:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):66 -> a
-    71:71:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):28:28 -> a
-    72:72:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):39:39 -> a
-    73:73:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):44:44 -> a
-    74:74:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):71:71 -> a
+    1:70:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):67 -> a
+    71:71:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):29:29 -> a
+    72:72:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35:35 -> a
+    73:73:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):40:40 -> a
+    74:74:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):45:45 -> a
+    75:75:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):72:72 -> a
     boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction) -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
 com.android.tools.r8.ir.code.And -> com.android.tools.r8.s.b.f:
@@ -24119,32 +24166,32 @@
     1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):54:54 -> d
     com.android.tools.r8.ir.code.And asAnd() -> j
 com.android.tools.r8.ir.code.Argument -> com.android.tools.r8.s.b.g:
-    boolean knownToBeBoolean -> i
-    boolean $assertionsDisabled -> j
-    int index -> h
-    1:1:void <clinit>():23:23 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.ir.code.Value,int,boolean):29:31 -> <init>
-    1:1:int maxInValueRegister():74:74 -> G2
+    boolean knownToBeBoolean -> j
+    int index -> i
+    boolean $assertionsDisabled -> h
+    1:1:void <clinit>():24:24 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.ir.code.Value,int,boolean):30:32 -> <init>
+    1:1:int maxInValueRegister():75:75 -> G2
     int maxOutValueRegister() -> H2
     int opcode() -> I2
-    1:1:int getIndex():35:35 -> M2
-    2:7:boolean verifyIndex():41:46 -> M2
-    2:7:int getIndex():35 -> M2
-    8:9:int getIndex():35:36 -> M2
+    1:1:int getIndex():36:36 -> M2
+    2:7:boolean verifyIndex():42:47 -> M2
+    2:7:int getIndex():36 -> M2
+    8:9:int getIndex():36:37 -> M2
     boolean hasInvariantOutType() -> N0
     boolean isArgument() -> X0
     1:1:void com.android.tools.r8.ir.conversion.CfBuilder.addArgument(com.android.tools.r8.ir.code.Argument):0:0 -> a
-    1:1:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):121 -> a
-    boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
+    1:1:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):122 -> a
     2:75:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArgument():0:73 -> a
-    2:75:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):106 -> a
+    2:75:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):107 -> a
     void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
-    76:76:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):61:61 -> a
-    77:77:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):85:85 -> a
-    78:78:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):116:116 -> a
-    79:79:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):126:126 -> a
-    80:80:boolean outTypeKnownToBeBoolean(java.util.Set):136:136 -> a
-    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):90:90 -> b
+    76:76:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):62:62 -> a
+    77:77:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):70:70 -> a
+    78:78:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86:86 -> a
+    79:79:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):117:117 -> a
+    80:80:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):127:127 -> a
+    81:81:boolean outTypeKnownToBeBoolean(java.util.Set):137:137 -> a
+    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):91:91 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     com.android.tools.r8.ir.code.Argument asArgument() -> k
 com.android.tools.r8.ir.code.ArithmeticBinop -> com.android.tools.r8.s.b.h:
@@ -24184,8 +24231,8 @@
     com.android.tools.r8.ir.code.ArrayAccess withMemberType(com.android.tools.r8.ir.code.MemberType) -> a
     com.android.tools.r8.ir.code.ArrayAccess asArrayAccess() -> m
 com.android.tools.r8.ir.code.ArrayGet -> com.android.tools.r8.s.b.j:
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.ir.code.MemberType type -> h
+    com.android.tools.r8.ir.code.MemberType type -> i
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():34:34 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):39:40 -> <init>
     1:1:com.android.tools.r8.ir.code.Value getNonNullInput():252:252 -> G0
@@ -24255,7 +24302,7 @@
     com.android.tools.r8.ir.code.ArrayGet asArrayGet() -> n
 com.android.tools.r8.ir.code.ArrayLength -> com.android.tools.r8.s.b.k:
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):22:22 -> <init>
-    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():149:149 -> G0
+    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():144:144 -> G0
     int maxInValueRegister() -> G2
     int maxOutValueRegister() -> H2
     int opcode() -> I2
@@ -24264,34 +24311,29 @@
     boolean hasInvariantOutType() -> N0
     boolean instructionTypeCanThrow() -> T0
     1:82:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayLength():0:81 -> a
-    1:82:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):113 -> a
+    1:82:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):108 -> a
     83:83:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):32:32 -> a
     84:84:com.android.tools.r8.ir.code.Value dest():36:36 -> a
     84:84:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55 -> a
     85:87:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55:57 -> a
     88:88:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):77:77 -> a
     88:88:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):83 -> a
-    89:89:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):88:88 -> a
-    90:90:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):77:77 -> a
-    90:90:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):83 -> a
-    90:90:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574 -> a
-    90:90:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):88 -> a
-    91:98:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):93:100 -> a
-    99:100:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):118:119 -> a
-    101:101:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):124:124 -> a
-    102:102:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):129:129 -> a
-    103:103:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):139:139 -> a
+    89:96:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):88:95 -> a
+    97:98:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):113:114 -> a
+    99:99:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):119:119 -> a
+    100:100:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):124:124 -> a
+    101:101:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):134:134 -> a
     1:1:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):77:77 -> b
-    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):107:107 -> b
+    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):102:102 -> b
     boolean isArrayLength() -> b1
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     com.android.tools.r8.ir.code.ArrayLength asArrayLength() -> o
 com.android.tools.r8.ir.code.ArrayPut -> com.android.tools.r8.s.b.l:
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.ir.code.MemberType type -> h
+    com.android.tools.r8.ir.code.MemberType type -> i
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():29:29 -> <clinit>
     1:5:void <init>(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):37:41 -> <init>
-    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():254:254 -> G0
+    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():249:249 -> G0
     int maxInValueRegister() -> G2
     1:1:int maxOutValueRegister():113:113 -> H2
     int opcode() -> I2
@@ -24302,7 +24344,7 @@
     boolean instructionTypeCanThrow() -> T0
     boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator) -> a
     1:86:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayPut():0:85 -> a
-    1:86:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):224 -> a
+    1:86:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):219 -> a
     87:87:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):51:51 -> a
     88:124:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):65:101 -> a
     125:125:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
@@ -24314,81 +24356,74 @@
     138:138:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
     139:170:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):72:103 -> a
     171:217:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):139:185 -> a
-    218:218:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):195:195 -> a
-    219:219:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    219:219:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):195 -> a
-    220:220:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):229:229 -> a
-    221:221:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):239:239 -> a
-    222:222:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):244:244 -> a
-    223:223:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):259:259 -> a
-    224:224:com.android.tools.r8.ir.code.ArrayAccess withMemberType(com.android.tools.r8.ir.code.MemberType):269:269 -> a
-    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):208:208 -> b
-    2:2:void lambda$constrainType$0(com.android.tools.r8.ir.code.MemberType):259:259 -> b
+    218:218:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):224:224 -> a
+    219:219:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):234:234 -> a
+    220:220:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):239:239 -> a
+    221:221:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):254:254 -> a
+    222:222:com.android.tools.r8.ir.code.ArrayAccess withMemberType(com.android.tools.r8.ir.code.MemberType):264:264 -> a
+    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):203:203 -> b
+    2:2:void lambda$constrainType$0(com.android.tools.r8.ir.code.MemberType):254:254 -> b
     boolean isArrayPut() -> c1
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     1:1:com.android.tools.r8.ir.code.MemberType getMemberType():60:60 -> e
     com.android.tools.r8.ir.code.ArrayPut asArrayPut() -> p
 com.android.tools.r8.ir.code.Assume -> com.android.tools.r8.s.b.m:
-    com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption dynamicTypeAssumption -> h
-    boolean $assertionsDisabled -> k
-    com.android.tools.r8.ir.code.Instruction origin -> j
-    com.android.tools.r8.ir.code.Assume$NonNullAssumption nonNullAssumption -> i
-    1:1:void <clinit>():23:23 -> <clinit>
-    1:4:void <init>(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption,com.android.tools.r8.ir.code.Assume$NonNullAssumption,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):39:42 -> <init>
-    5:15:void <init>(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption,com.android.tools.r8.ir.code.Assume$NonNullAssumption,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):41:51 -> <init>
-    1:7:java.lang.String getInstructionName():115:121 -> F0
-    1:1:int maxInValueRegister():192:192 -> G2
-    1:1:int maxOutValueRegister():197:197 -> H2
+    com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption dynamicTypeAssumption -> i
+    boolean $assertionsDisabled -> h
+    com.android.tools.r8.ir.code.Instruction origin -> k
+    com.android.tools.r8.ir.code.Assume$NonNullAssumption nonNullAssumption -> j
+    1:1:void <clinit>():21:21 -> <clinit>
+    1:10:void <init>(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption,com.android.tools.r8.ir.code.Assume$NonNullAssumption,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):37:46 -> <init>
+    java.lang.String getInstructionName() -> F0
+    1:1:int maxInValueRegister():183:183 -> G2
+    1:1:int maxOutValueRegister():188:188 -> H2
     int opcode() -> I2
-    1:1:com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption getDynamicTypeAssumption():93:93 -> M2
+    1:1:com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption getDynamicTypeAssumption():88:88 -> M2
     boolean hasInvariantOutType() -> N0
-    1:1:com.android.tools.r8.ir.code.Instruction origin():105:105 -> N2
-    1:1:com.android.tools.r8.ir.code.Value src():101:101 -> O2
+    1:1:boolean hasDynamicTypeAssumption():124:124 -> N2
+    1:1:boolean hasNonNullAssumption():132:132 -> O2
+    1:1:com.android.tools.r8.ir.code.Instruction origin():100:100 -> P2
+    1:1:com.android.tools.r8.ir.code.Value src():96:96 -> Q2
+    1:1:void unsetDynamicTypeAssumption():128:128 -> R2
     1:285:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forAssume():0:284 -> a
-    1:285:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):218 -> a
-    286:286:com.android.tools.r8.ir.code.Assume createAssumeNonNullInstruction(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):56:56 -> a
-    287:287:com.android.tools.r8.ir.code.Assume createAssumeDynamicTypeInstruction(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):66:66 -> a
-    288:288:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):89:89 -> a
-    289:289:boolean outTypeKnownToBeBoolean(java.util.Set):110:110 -> a
-    290:307:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):146:163 -> a
-    308:314:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):161:167 -> a
-    315:315:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):182:182 -> a
-    316:316:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):187:187 -> a
-    317:324:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):223:230 -> a
-    325:325:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):235:235 -> a
-    326:326:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):245:245 -> a
-    1:6:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):207:212 -> b
-    7:19:boolean verifyTypes(com.android.tools.r8.graph.AppView):255:267 -> b
-    1:2:boolean verifyInstructionIsNeeded(com.android.tools.r8.graph.AppView):81:82 -> c
+    1:285:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):209 -> a
+    286:286:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):84:84 -> a
+    287:287:boolean outTypeKnownToBeBoolean(java.util.Set):105:105 -> a
+    288:305:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):137:154 -> a
+    306:312:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):152:158 -> a
+    313:313:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):173:173 -> a
+    314:314:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):178:178 -> a
+    315:319:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):214:218 -> a
+    320:320:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):223:223 -> a
+    321:321:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):233:233 -> a
+    1:6:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):198:203 -> b
+    7:18:boolean verifyTypes(com.android.tools.r8.graph.AppView):243:254 -> b
+    1:2:boolean verifyInstructionIsNeeded(com.android.tools.r8.graph.AppView):76:77 -> c
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     boolean isAssume() -> d1
-    1:1:boolean isAssumeDynamicType():136:136 -> e1
-    1:1:boolean isAssumeNonNull():141:141 -> f1
     boolean isOutConstant() -> o2
     com.android.tools.r8.ir.code.Assume asAssume() -> q
-    1:14:java.lang.String toString():280:293 -> toString
-com.android.tools.r8.ir.code.Assume$1 -> com.android.tools.r8.s.b.m$a:
-com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption -> com.android.tools.r8.s.b.m$b:
-    com.android.tools.r8.ir.analysis.type.TypeElement dynamicUpperBoundType -> a
-    com.android.tools.r8.ir.analysis.type.ClassTypeElement dynamicLowerBoundType -> b
-    boolean $assertionsDisabled -> c
-    1:1:void <clinit>():296:296 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.code.Assume$1):296:296 -> <init>
-    2:4:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):302:304 -> <init>
-    1:1:com.android.tools.r8.ir.analysis.type.TypeElement access$100(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):296:296 -> a
-    2:2:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType():312:312 -> a
-    3:3:boolean verifyCorrectnessOfValues(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):316:316 -> a
-    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement access$200(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):296:296 -> b
-    2:2:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():308:308 -> b
-    1:5:boolean equals(java.lang.Object):325:329 -> equals
-    1:1:int hashCode():335:335 -> hashCode
-com.android.tools.r8.ir.code.Assume$NonNullAssumption -> com.android.tools.r8.s.b.m$c:
+    1:15:java.lang.String toString():266:280 -> toString
+com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption -> com.android.tools.r8.s.b.m$a:
+    com.android.tools.r8.ir.analysis.type.ClassTypeElement dynamicLowerBoundType -> c
+    com.android.tools.r8.ir.analysis.type.TypeElement dynamicUpperBoundType -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():283:283 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):289:291 -> <init>
+    1:1:com.android.tools.r8.ir.analysis.type.TypeElement access$000(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):283:283 -> a
+    2:2:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType():299:299 -> a
+    3:3:boolean verifyCorrectnessOfValues(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):303:303 -> a
+    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement access$100(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):283:283 -> b
+    2:2:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():295:295 -> b
+    1:5:boolean equals(java.lang.Object):312:316 -> equals
+    1:1:int hashCode():322:322 -> hashCode
+com.android.tools.r8.ir.code.Assume$NonNullAssumption -> com.android.tools.r8.s.b.m$b:
     com.android.tools.r8.ir.code.Assume$NonNullAssumption instance -> a
     boolean $assertionsDisabled -> b
-    1:3:void <clinit>():339:341 -> <clinit>
-    1:1:void <init>():343:343 -> <init>
-    1:1:com.android.tools.r8.ir.code.Assume$NonNullAssumption get():346:346 -> a
-    2:2:boolean verifyCorrectnessOfValues(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):350:350 -> a
+    1:3:void <clinit>():326:328 -> <clinit>
+    1:1:void <init>():330:330 -> <init>
+    1:1:com.android.tools.r8.ir.code.Assume$NonNullAssumption get():333:333 -> a
+    2:2:boolean verifyCorrectnessOfValues(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):337:337 -> a
 com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration -> com.android.tools.r8.s.b.n:
     com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration INSTANCE -> a
     boolean $assertionsDisabled -> b
@@ -24396,29 +24431,29 @@
     1:1:void <init>():14:14 -> <init>
     1:1:com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration getInstance():17:17 -> a
     2:2:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):27:27 -> a
-    3:3:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> a
+    3:3:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> a
     3:3:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):28 -> a
     4:4:java.lang.Object com.android.tools.r8.utils.ListUtils.first(java.util.List):16:16 -> a
     4:4:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):28 -> a
     5:5:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):28:28 -> a
     1:1:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):22:22 -> b
 com.android.tools.r8.ir.code.BasicBlock -> com.android.tools.r8.s.b.o:
-    int color -> n
-    int estimatedPredecessorsCount -> l
-    boolean $assertionsDisabled -> p
-    int unfilledPredecessorsCount -> m
-    boolean filled -> i
-    boolean sealed -> j
-    java.util.Map currentDefinitions -> o
-    int number -> g
-    com.android.tools.r8.ir.code.CatchHandlers catchHandlers -> e
-    java.util.List successors -> b
-    java.util.Set onControlFlowEdgesMayChangeListeners -> d
-    java.util.List predecessors -> c
-    java.util.LinkedList instructions -> f
-    java.util.List phis -> h
-    java.util.Map incompletePhis -> k
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap localsAtEntry -> a
+    int unfilledPredecessorsCount -> n
+    int color -> o
+    int estimatedPredecessorsCount -> m
+    boolean filled -> j
+    int number -> h
+    boolean sealed -> k
+    java.util.Map currentDefinitions -> p
+    com.android.tools.r8.ir.code.CatchHandlers catchHandlers -> f
+    java.util.List predecessors -> d
+    java.util.Set onControlFlowEdgesMayChangeListeners -> e
+    java.util.List successors -> c
+    java.util.List phis -> i
+    java.util.LinkedList instructions -> g
+    java.util.Map incompletePhis -> l
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap localsAtEntry -> b
     1:1:void <clinit>():54:54 -> <clinit>
     1:124:void <init>():54:177 -> <init>
     1:2:com.android.tools.r8.ir.code.BasicBlock getUniqueNormalSuccessor():205:206 -> A
@@ -24428,7 +24463,7 @@
     1:2:com.android.tools.r8.ir.code.BasicBlock getUniquePredecessor():268:269 -> B
     1:2:boolean hasCatchHandlers():595:596 -> C
     1:1:boolean hasIncompletePhis():1192:1192 -> D
-    1:1:boolean hasOneNormalExit():1578:1578 -> E
+    1:1:boolean hasOneNormalExit():1559:1559 -> E
     1:1:boolean hasPhis():566:566 -> F
     1:1:boolean hasUniqueNormalSuccessor():192:192 -> G
     1:1:boolean hasUniquePredecessor():264:264 -> H
@@ -24438,15 +24473,15 @@
     1:1:boolean isFilled():587:587 -> L
     1:1:boolean isReturnBlock():672:672 -> M
     1:1:boolean isSealed():1180:1180 -> N
-    1:11:boolean isSimpleAlwaysThrowingPath():1555:1565 -> O
-    1:1:boolean isTrivialGoto():1510:1510 -> P
-    1:1:com.android.tools.r8.ir.code.InstructionIterator iterator():1654:1654 -> Q
+    1:11:boolean isSimpleAlwaysThrowingPath():1536:1546 -> O
+    1:1:boolean isTrivialGoto():1491:1491 -> P
+    1:1:com.android.tools.r8.ir.code.InstructionIterator iterator():1635:1635 -> Q
     1:2:boolean notifyPredecessorsMayChangeListeners():282:283 -> R
     1:2:boolean notifySuccessorsMayChangeListeners():219:220 -> S
-    1:1:int numberOfCatchHandlers():1603:1603 -> T
+    1:1:int numberOfCatchHandlers():1584:1584 -> T
     1:2:int numberOfExceptionalSuccessors():257:258 -> U
     1:4:int numberOfNormalSuccessors():250:253 -> V
-    1:2:int numberOfThrowingInstructions():1608:1609 -> W
+    1:2:int numberOfThrowingInstructions():1589:1590 -> W
     1:2:void removeAllNormalSuccessors():329:330 -> X
     3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> X
     3:3:void removeAllNormalSuccessors():330 -> X
@@ -24489,12 +24524,12 @@
     123:123:boolean isFilled():587:587 -> a
     123:123:void close(com.android.tools.r8.ir.conversion.IRBuilder):769 -> a
     124:128:void close(com.android.tools.r8.ir.conversion.IRBuilder):769:773 -> a
-    129:130:boolean verifyNoValuesAfterThrowingInstruction():1640:1641 -> a
+    129:130:boolean verifyNoValuesAfterThrowingInstruction():1621:1622 -> a
     129:130:void close(com.android.tools.r8.ir.conversion.IRBuilder):774 -> a
-    131:131:com.android.tools.r8.ir.code.InstructionIterator iterator(int):1658:1658 -> a
-    131:131:boolean verifyNoValuesAfterThrowingInstruction():1641 -> a
+    131:131:com.android.tools.r8.ir.code.InstructionIterator iterator(int):1639:1639 -> a
+    131:131:boolean verifyNoValuesAfterThrowingInstruction():1622 -> a
     131:131:void close(com.android.tools.r8.ir.conversion.IRBuilder):774 -> a
-    132:137:boolean verifyNoValuesAfterThrowingInstruction():1642:1647 -> a
+    132:137:boolean verifyNoValuesAfterThrowingInstruction():1623:1628 -> a
     132:137:void close(com.android.tools.r8.ir.conversion.IRBuilder):774 -> a
     138:138:void close(com.android.tools.r8.ir.conversion.IRBuilder):775:775 -> a
     139:150:void filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1139:1150 -> a
@@ -24516,55 +24551,54 @@
     253:256:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1132:1135 -> a
     257:261:void addIncompletePhi(int,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1184:1188 -> a
     262:269:void appendBasicBlockList(java.lang.StringBuilder,java.util.List,java.util.function.Function):1201:1208 -> a
-    270:273:void printDebugValueSet(java.lang.String,java.util.List,java.lang.StringBuilder):1318:1321 -> a
-    274:306:void print(com.android.tools.r8.utils.CfgPrinter):1326:1358 -> a
-    307:308:void printBlockList(com.android.tools.r8.utils.CfgPrinter,java.util.List):1362:1363 -> a
-    309:310:com.android.tools.r8.ir.code.BasicBlock createGotoBlock(int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock):1421:1422 -> a
-    311:315:com.android.tools.r8.ir.code.BasicBlock createGotoBlock(int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRMetadata):1435:1439 -> a
-    316:322:com.android.tools.r8.ir.code.BasicBlock createIfBlock(int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.Instruction[]):1470:1476 -> a
-    323:332:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1492:1501 -> a
-    333:333:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):758:758 -> a
-    333:333:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1502 -> a
-    334:334:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):758:758 -> a
-    334:334:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1503 -> a
-    335:336:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1504:1505 -> a
-    337:338:boolean canThrow():1617:1618 -> a
-    339:339:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode):1666:1666 -> a
-    340:340:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRMetadata):1670:1670 -> a
-    340:340:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode):1666 -> a
-    341:341:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRMetadata):1670:1670 -> a
-    342:342:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode,int):1674:1674 -> a
-    343:343:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):1685:1685 -> a
-    344:355:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1703:1714 -> a
-    356:361:void moveCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1735:1740 -> a
-    356:361:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1718 -> a
-    362:366:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1722:1726 -> a
-    367:383:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1751:1767 -> a
-    384:2200:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):0:1816 -> a
-    384:2200:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1767 -> a
-    2201:2201:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):758:758 -> a
-    2201:2201:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1817 -> a
-    2201:2201:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1767 -> a
-    2202:2205:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1818:1821 -> a
-    2202:2205:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1767 -> a
-    2206:2206:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):758:758 -> a
-    2206:2206:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1822 -> a
-    2206:2206:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1767 -> a
-    2207:2212:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1823:1828 -> a
-    2207:2212:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1767 -> a
-    2213:2213:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1806:1806 -> a
-    2213:2213:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1767 -> a
-    2214:2214:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
-    2214:2214:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1806 -> a
-    2214:2214:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1767 -> a
-    2215:2249:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1806:1840 -> a
-    2215:2249:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1767 -> a
-    2250:2250:void com.android.tools.r8.ir.code.Phi.addOperands(java.util.List):142:142 -> a
-    2250:2250:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1842 -> a
-    2250:2250:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1767 -> a
-    2251:2251:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1843:1843 -> a
-    2251:2251:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1767 -> a
-    2252:2325:java.util.List appendCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1860:1933 -> a
+    270:302:void print(com.android.tools.r8.utils.CfgPrinter):1307:1339 -> a
+    303:304:void printBlockList(com.android.tools.r8.utils.CfgPrinter,java.util.List):1343:1344 -> a
+    305:306:com.android.tools.r8.ir.code.BasicBlock createGotoBlock(int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock):1402:1403 -> a
+    307:311:com.android.tools.r8.ir.code.BasicBlock createGotoBlock(int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRMetadata):1416:1420 -> a
+    312:318:com.android.tools.r8.ir.code.BasicBlock createIfBlock(int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.Instruction[]):1451:1457 -> a
+    319:328:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1473:1482 -> a
+    329:329:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):758:758 -> a
+    329:329:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1483 -> a
+    330:330:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):758:758 -> a
+    330:330:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1484 -> a
+    331:332:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1485:1486 -> a
+    333:334:boolean canThrow():1598:1599 -> a
+    335:335:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode):1647:1647 -> a
+    336:336:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRMetadata):1651:1651 -> a
+    336:336:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode):1647 -> a
+    337:337:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRMetadata):1651:1651 -> a
+    338:338:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode,int):1655:1655 -> a
+    339:339:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):1666:1666 -> a
+    340:351:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1684:1695 -> a
+    352:357:void moveCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1716:1721 -> a
+    352:357:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1699 -> a
+    358:362:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1703:1707 -> a
+    363:379:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1732:1748 -> a
+    380:2177:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):0:1797 -> a
+    380:2177:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1748 -> a
+    2178:2178:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):758:758 -> a
+    2178:2178:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1798 -> a
+    2178:2178:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1748 -> a
+    2179:2182:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1799:1802 -> a
+    2179:2182:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1748 -> a
+    2183:2183:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):758:758 -> a
+    2183:2183:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1803 -> a
+    2183:2183:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1748 -> a
+    2184:2189:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1804:1809 -> a
+    2184:2189:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1748 -> a
+    2190:2190:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1787:1787 -> a
+    2190:2190:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1748 -> a
+    2191:2191:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
+    2191:2191:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1787 -> a
+    2191:2191:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1748 -> a
+    2192:2226:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1787:1821 -> a
+    2192:2226:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1748 -> a
+    2227:2227:void com.android.tools.r8.ir.code.Phi.addOperands(java.util.List):142:142 -> a
+    2227:2227:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1823 -> a
+    2227:2227:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1748 -> a
+    2228:2228:int splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):1824:1824 -> a
+    2228:2228:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1748 -> a
+    2229:2302:java.util.List appendCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1841:1914 -> a
     1:9:java.lang.String toDetailedString():1233:1241 -> a0
     10:10:boolean isFilled():587:587 -> a0
     10:10:java.lang.String toDetailedString():1241 -> a0
@@ -24574,13 +24608,13 @@
     14:51:java.lang.String toDetailedString():1242:1279 -> a0
     52:52:int digits(int):1229:1229 -> a0
     52:52:java.lang.String toDetailedString():1279 -> a0
-    53:88:java.lang.String toDetailedString():1279:1314 -> a0
+    53:77:java.lang.String toDetailedString():1279:1303 -> a0
     1:1:void lambda$notifyPredecessorsMayChangeListeners$2(com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener):283:283 -> b
     2:32:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):374:404 -> b
-    33:33:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> b
+    33:33:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> b
     33:33:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):406 -> b
     34:34:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):406:406 -> b
-    35:35:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> b
+    35:35:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> b
     35:35:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):407 -> b
     36:39:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):407:410 -> b
     40:44:boolean hasLinearFlow(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):471:475 -> b
@@ -24598,22 +24632,22 @@
     142:143:com.android.tools.r8.ir.code.Value readCurrentDefinition(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1079 -> b
     144:146:com.android.tools.r8.ir.code.Value readCurrentDefinition(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1081:1083 -> b
     147:148:com.android.tools.r8.ir.code.BasicBlock$EdgeType getEdgeType(com.android.tools.r8.ir.code.BasicBlock):1155:1156 -> b
-    149:161:void removeInstructions(java.util.List):1384:1396 -> b
-    162:162:void setInstructions(java.util.LinkedList):1376:1376 -> b
-    162:162:void removeInstructions(java.util.List):1397 -> b
+    149:161:void removeInstructions(java.util.List):1365:1377 -> b
+    162:162:void setInstructions(java.util.LinkedList):1357:1357 -> b
+    162:162:void removeInstructions(java.util.List):1378 -> b
     1:3:void unlinkCatchHandler():841:843 -> b0
     1:1:void lambda$notifySuccessorsMayChangeListeners$1(com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener):220:220 -> c
     2:6:void swapSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):344:348 -> c
     7:8:void removePhisByIndex(java.util.List):560:561 -> c
     9:10:boolean isMarked(int):722:723 -> c
     11:14:boolean hasCatchSuccessor(com.android.tools.r8.ir.code.BasicBlock):1160:1163 -> c
-    15:15:void clearCatchHandlers():1594:1594 -> c
-    16:16:com.android.tools.r8.ir.code.InstructionIterator iterator(com.android.tools.r8.ir.code.Instruction):1662:1662 -> c
+    15:15:void clearCatchHandlers():1575:1575 -> c
+    16:16:com.android.tools.r8.ir.code.InstructionIterator iterator(com.android.tools.r8.ir.code.Instruction):1643:1643 -> c
     1:5:com.android.tools.r8.ir.code.BasicBlock unlinkSinglePredecessor():802:806 -> c0
     1:2:boolean hasNormalSuccessor(com.android.tools.r8.ir.code.BasicBlock):232:233 -> d
     3:5:void clearCurrentDefinitions():1052:1054 -> d
-    6:6:com.android.tools.r8.ir.code.InstructionIterator iterator(int):1658:1658 -> d
-    7:7:com.android.tools.r8.ir.code.InstructionIterator iterator(com.android.tools.r8.ir.code.Instruction):1662:1662 -> d
+    6:6:com.android.tools.r8.ir.code.InstructionIterator iterator(int):1639:1639 -> d
+    7:7:com.android.tools.r8.ir.code.InstructionIterator iterator(com.android.tools.r8.ir.code.Instruction):1643:1643 -> d
     7:7:java.util.Iterator lambda$instructionsAfter$3(com.android.tools.r8.ir.code.Instruction):626 -> d
     1:5:void unlinkSinglePredecessorSiblingsAllowed():812:816 -> d0
     1:1:java.util.Iterator lambda$instructionsBefore$4(com.android.tools.r8.ir.code.Instruction):631:631 -> e
@@ -24624,11 +24658,11 @@
     java.lang.String lambda$toDetailedString$7(com.android.tools.r8.ir.code.BasicBlock) -> f
     1:2:int numberInstructions(int):614:615 -> f
     3:4:boolean consistentCatchHandlers():1023:1024 -> f
-    5:5:com.android.tools.r8.ir.code.CatchHandlers getCatchHandlersWithSuccessorIndexes():1590:1590 -> f
+    5:5:com.android.tools.r8.ir.code.CatchHandlers getCatchHandlersWithSuccessorIndexes():1571:1571 -> f
     5:5:boolean consistentCatchHandlers():1025 -> f
     6:8:boolean consistentCatchHandlers():1027:1027 -> f
     11:27:boolean consistentCatchHandlers():1030:1046 -> f
-    28:30:void removeInstruction(com.android.tools.r8.ir.code.Instruction):1405:1407 -> f
+    28:30:void removeInstruction(com.android.tools.r8.ir.code.Instruction):1386:1388 -> f
     1:2:boolean verifyFilledPredecessors():742:743 -> f0
     int onThrowValueRegister(int) -> g
     1:2:void decrementUnfilledPredecessorCount():737:738 -> g
@@ -24638,23 +24672,23 @@
     5:13:int guardsForCatchSuccessor(com.android.tools.r8.ir.code.BasicBlock):1167:1175 -> h
     5:13:java.lang.String predecessorPostfix(com.android.tools.r8.ir.code.BasicBlock):1223 -> h
     14:14:java.lang.String predecessorPostfix(com.android.tools.r8.ir.code.BasicBlock):1223:1223 -> h
-    15:29:void deduplicatePhis():1986:2000 -> h
+    15:49:void deduplicatePhis():1967:2001 -> h
     1:3:void removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):299:301 -> i
     4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>(int[]):135:135 -> i
     4:4:void removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):301 -> i
     5:5:void removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):301:301 -> i
     6:9:void detachAllSuccessors():895:898 -> i
-    10:11:boolean verifyOnThrowWrite(int):1630:1631 -> i
-    1:3:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1538:1540 -> j
-    4:5:void transferCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1598:1599 -> j
+    10:11:boolean verifyOnThrowWrite(int):1611:1612 -> i
+    1:3:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1519:1521 -> j
+    4:5:void transferCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1579:1580 -> j
     1:1:com.android.tools.r8.ir.code.Instruction entry():676:676 -> k
     1:2:com.android.tools.r8.ir.code.Instruction exceptionalExit():686:687 -> l
-    3:3:com.android.tools.r8.ir.code.InstructionIterator iterator(int):1658:1658 -> l
+    3:3:com.android.tools.r8.ir.code.InstructionIterator iterator(int):1639:1639 -> l
     3:3:com.android.tools.r8.ir.code.Instruction exceptionalExit():687 -> l
     4:6:com.android.tools.r8.ir.code.Instruction exceptionalExit():688:690 -> l
     1:3:com.android.tools.r8.ir.code.JumpInstruction exit():680:682 -> m
-    1:5:com.android.tools.r8.ir.code.CatchHandlers getCatchHandlers():1582:1586 -> n
-    1:1:com.android.tools.r8.ir.code.CatchHandlers getCatchHandlersWithSuccessorIndexes():1590:1590 -> o
+    1:5:com.android.tools.r8.ir.code.CatchHandlers getCatchHandlers():1563:1567 -> n
+    1:1:com.android.tools.r8.ir.code.CatchHandlers getCatchHandlersWithSuccessorIndexes():1571:1571 -> o
     1:1:java.util.LinkedList getInstructions():622:622 -> p
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getLocalsAtEntry():94:94 -> q
     1:2:java.util.List getMutablePredecessors():277:278 -> r
@@ -24677,7 +24711,7 @@
     com.android.tools.r8.ir.code.InstructionIterator iterator -> a
     1:4:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):631:634 -> <init>
     1:1:boolean hasNext():648:648 -> hasNext
-    1:3:com.android.tools.r8.ir.code.Instruction advance():637:639 -> k
+    1:3:com.android.tools.r8.ir.code.Instruction advance():637:639 -> l
     1:5:com.android.tools.r8.ir.code.Instruction next():653:657 -> next
     1:5:java.lang.Object next():631 -> next
     6:6:com.android.tools.r8.ir.code.Instruction next():655:655 -> next
@@ -24691,21 +24725,21 @@
     1:1:void <init>(java.lang.String,int):112:112 -> <init>
 com.android.tools.r8.ir.code.BasicBlock$PhiEquivalence -> com.android.tools.r8.s.b.o$d:
     boolean $assertionsDisabled -> a
-    1:1:void <clinit>():1963:1963 -> <clinit>
-    1:1:void <init>():1963:1963 -> <init>
-    2:2:void <init>(com.android.tools.r8.ir.code.BasicBlock$1):1963:1963 -> <init>
-    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):1963:1963 -> doEquivalent
-    2:4:boolean doEquivalent(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Phi):1966:1968 -> doEquivalent
-    2:4:boolean doEquivalent(java.lang.Object,java.lang.Object):1963 -> doEquivalent
-    1:1:int doHash(java.lang.Object):1963:1963 -> doHash
-    2:3:int doHash(com.android.tools.r8.ir.code.Phi):1978:1979 -> doHash
-    2:3:int doHash(java.lang.Object):1963 -> doHash
+    1:1:void <clinit>():1944:1944 -> <clinit>
+    1:1:void <init>():1944:1944 -> <init>
+    2:2:void <init>(com.android.tools.r8.ir.code.BasicBlock$1):1944:1944 -> <init>
+    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):1944:1944 -> doEquivalent
+    2:4:boolean doEquivalent(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Phi):1947:1949 -> doEquivalent
+    2:4:boolean doEquivalent(java.lang.Object,java.lang.Object):1944 -> doEquivalent
+    1:1:int doHash(java.lang.Object):1944:1944 -> doHash
+    2:3:int doHash(com.android.tools.r8.ir.code.Phi):1959:1960 -> doHash
+    2:3:int doHash(java.lang.Object):1944 -> doHash
 com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo -> com.android.tools.r8.s.b.o$e:
     com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo CAN_THROW -> b
     com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo NO_THROW -> a
     1:2:void <clinit>():104:105 -> <clinit>
     1:1:void <init>(java.lang.String,int):103:103 -> <init>
-    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     1:1:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo defaultForConstString(com.android.tools.r8.utils.InternalOptions):108 -> a
     2:2:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo defaultForConstString(com.android.tools.r8.utils.InternalOptions):108:108 -> a
 com.android.tools.r8.ir.code.BasicBlockInstructionIterator -> com.android.tools.r8.s.b.p:
@@ -24720,12 +24754,12 @@
     1:1:java.lang.Object next():9 -> next
     1:1:com.android.tools.r8.ir.code.Instruction previous():33:33 -> previous
 com.android.tools.r8.ir.code.BasicBlockInstructionListIterator -> com.android.tools.r8.s.b.q:
-    com.android.tools.r8.ir.code.IRMetadata metadata -> e
-    java.util.ListIterator listIterator -> b
-    com.android.tools.r8.ir.code.Instruction current -> c
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.ir.code.Position position -> d
-    com.android.tools.r8.ir.code.BasicBlock block -> a
+    java.util.ListIterator listIterator -> c
+    com.android.tools.r8.ir.code.Instruction current -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock block -> b
+    com.android.tools.r8.ir.code.IRMetadata metadata -> f
+    com.android.tools.r8.ir.code.Position position -> e
     1:1:void <clinit>():30:30 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock):39:39 -> <init>
     2:9:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock):35:42 -> <init>
@@ -24733,133 +24767,133 @@
     11:24:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock,int):35:48 -> <init>
     25:26:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):53:54 -> <init>
     1:1:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.IRCode.createStringConstant(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):0:0 -> a
-    1:1:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):220 -> a
-    2:3:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.IRCode.createStringConstant(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DebugLocalInfo):1132:1133 -> a
-    2:3:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.IRCode.createStringConstant(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):1127 -> a
-    2:3:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):220 -> a
-    4:4:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):223:223 -> a
-    5:8:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):222:225 -> a
+    1:1:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):240 -> a
+    2:3:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.IRCode.createStringConstant(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DebugLocalInfo):1136:1137 -> a
+    2:3:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.IRCode.createStringConstant(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):1131 -> a
+    2:3:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):240 -> a
+    4:4:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):243:243 -> a
+    5:8:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):242:245 -> a
     boolean lambda$inlineInvoke$2(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
     boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
-    9:9:void setInsertionPosition(com.android.tools.r8.ir.code.Position):91:91 -> a
-    10:10:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):186:186 -> a
-    11:11:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> a
-    11:11:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):189 -> a
-    12:28:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):189:205 -> a
-    29:29:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):187:187 -> a
-    30:39:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):250:259 -> a
-    40:40:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> a
-    40:40:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):259 -> a
-    41:44:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):259:262 -> a
-    45:45:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    45:45:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):265 -> a
-    46:47:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):268:269 -> a
-    48:48:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):251:251 -> a
-    49:72:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):280:303 -> a
-    73:73:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> a
-    73:73:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):303 -> a
-    74:77:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):303:306 -> a
-    78:78:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    78:78:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):309 -> a
-    79:85:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):310:316 -> a
-    86:86:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):281:281 -> a
-    87:96:void lambda$replaceCurrentInstructionWithThrowNull$1(java.util.Set,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.BasicBlock):318:327 -> a
-    97:100:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):335:338 -> a
-    101:101:boolean hasNext():59:59 -> a
-    101:101:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):342 -> a
-    102:105:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):342:345 -> a
-    106:106:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1574:1574 -> a
-    106:106:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):345 -> a
-    107:107:boolean hasPrevious():75:75 -> a
-    107:107:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):349 -> a
-    108:112:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):349:353 -> a
-    113:114:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
-    113:114:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):353 -> a
-    115:133:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):354:372 -> a
-    134:141:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):381:388 -> a
-    142:174:void splitBlockAndCopyCatchHandlers(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.ListIterator):414:446 -> a
-    175:180:void removeArgumentInstruction(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Value):484:489 -> a
-    181:187:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):500:506 -> a
-    188:190:boolean canThrow(com.android.tools.r8.ir.code.IRCode):394:396 -> a
-    188:190:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):508 -> a
-    191:207:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):512:528 -> a
-    208:208:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> a
-    208:208:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):529 -> a
-    209:216:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):529:536 -> a
-    217:217:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> a
-    217:217:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):539 -> a
-    218:221:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):539:542 -> a
-    222:222:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    222:222:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):543 -> a
-    223:255:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):543:575 -> a
-    256:256:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> a
-    256:256:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):579 -> a
-    257:261:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):579:583 -> a
-    262:262:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> a
-    262:262:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):584 -> a
-    263:270:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):584:591 -> a
-    271:271:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    271:271:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):591 -> a
-    272:291:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):591:610 -> a
-    292:292:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    292:292:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):610 -> a
-    293:293:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):613:613 -> a
-    294:294:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> a
-    294:294:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):612 -> a
-    295:328:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):611:644 -> a
-    329:329:com.android.tools.r8.ir.code.BasicBlockIterator com.android.tools.r8.ir.code.IRCode.listIterator(int):1032:1032 -> a
-    329:329:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):644 -> a
-    330:343:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):647:660 -> a
-    344:360:void appendCatchHandlers(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):461:477 -> a
-    344:360:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):661 -> a
-    361:366:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):668:673 -> a
-    367:367:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    367:367:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):673 -> a
-    368:378:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):673:683 -> a
-    379:383:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):682:686 -> a
-    384:412:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):692:720 -> a
-    413:413:void com.android.tools.r8.ir.code.Phi.addOperands(java.util.List):142:142 -> a
-    413:413:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):723 -> a
-    414:414:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):724:724 -> a
-    415:415:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    415:415:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):724 -> a
-    416:433:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):724:741 -> a
-    434:434:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
-    434:434:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):211 -> a
-    435:437:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):213:215 -> a
+    9:9:void setInsertionPosition(com.android.tools.r8.ir.code.Position):96:96 -> a
+    10:10:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):196:196 -> a
+    11:11:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> a
+    11:11:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):199 -> a
+    12:30:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):199:217 -> a
+    31:31:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):197:197 -> a
+    32:40:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):264:272 -> a
+    41:41:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    41:41:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):273 -> a
+    42:43:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):276:277 -> a
+    44:44:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):265:265 -> a
+    45:65:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):288:308 -> a
+    66:66:boolean hasNext():59:59 -> a
+    66:66:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):313 -> a
+    67:73:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):313:319 -> a
+    74:74:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):318:318 -> a
+    75:98:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):317:340 -> a
+    99:99:boolean hasInsertionPosition():91:91 -> a
+    99:99:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):341 -> a
+    100:116:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):342:358 -> a
+    117:117:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):289:289 -> a
+    118:127:void lambda$replaceCurrentInstructionWithThrowNull$1(java.util.Set,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.BasicBlock):360:369 -> a
+    128:131:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):382:385 -> a
+    132:132:boolean hasNext():59:59 -> a
+    132:132:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):389 -> a
+    133:136:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):389:392 -> a
+    137:137:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> a
+    137:137:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):392 -> a
+    138:141:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):396:399 -> a
+    142:143:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
+    142:143:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):399 -> a
+    144:162:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):400:418 -> a
+    163:170:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):427:434 -> a
+    171:203:void splitBlockAndCopyCatchHandlers(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.ListIterator):460:492 -> a
+    204:209:void removeArgumentInstruction(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Value):530:535 -> a
+    210:216:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):546:552 -> a
+    217:219:boolean canThrow(com.android.tools.r8.ir.code.IRCode):440:442 -> a
+    217:219:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):554 -> a
+    220:236:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):558:574 -> a
+    237:237:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> a
+    237:237:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):575 -> a
+    238:245:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):575:582 -> a
+    246:246:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> a
+    246:246:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):585 -> a
+    247:250:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):585:588 -> a
+    251:251:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    251:251:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):589 -> a
+    252:284:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):589:621 -> a
+    285:285:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> a
+    285:285:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):625 -> a
+    286:290:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):625:629 -> a
+    291:291:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> a
+    291:291:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):630 -> a
+    292:299:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):630:637 -> a
+    300:300:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    300:300:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):637 -> a
+    301:320:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):637:656 -> a
+    321:321:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    321:321:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):656 -> a
+    322:322:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):659:659 -> a
+    323:323:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> a
+    323:323:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):658 -> a
+    324:357:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):657:690 -> a
+    358:358:com.android.tools.r8.ir.code.BasicBlockIterator com.android.tools.r8.ir.code.IRCode.listIterator(int):1036:1036 -> a
+    358:358:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):690 -> a
+    359:372:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):693:706 -> a
+    373:389:void appendCatchHandlers(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):507:523 -> a
+    373:389:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):707 -> a
+    390:395:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):714:719 -> a
+    396:396:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    396:396:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):719 -> a
+    397:407:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):719:729 -> a
+    408:412:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):728:732 -> a
+    413:441:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):738:766 -> a
+    442:442:void com.android.tools.r8.ir.code.Phi.addOperands(java.util.List):142:142 -> a
+    442:442:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):769 -> a
+    443:443:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):770:770 -> a
+    444:444:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    444:444:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):770 -> a
+    445:462:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):770:787 -> a
+    463:463:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement):1103:1103 -> a
+    463:463:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):223 -> a
+    464:464:boolean hasInsertionPosition():91:91 -> a
+    464:464:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):225 -> a
+    465:466:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):227:228 -> a
+    467:467:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> a
+    467:467:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):228 -> a
+    468:473:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):230:235 -> a
     1:1:void add(java.lang.Object):30:30 -> add
-    1:7:void add(com.android.tools.r8.ir.code.Instruction):104:110 -> b
-    8:16:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):230:238 -> b
-    17:17:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> b
-    17:17:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):238 -> b
-    18:21:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):238:241 -> b
-    22:22:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> b
-    22:22:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):244 -> b
-    23:23:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):231:231 -> b
-    1:7:void removeOrReplaceByDebugLocalRead():174:180 -> g
-    8:8:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> g
-    8:8:void removeOrReplaceByDebugLocalRead():180 -> g
-    9:9:void removeOrReplaceByDebugLocalRead():175:175 -> g
+    1:7:void add(com.android.tools.r8.ir.code.Instruction):114:120 -> b
+    8:15:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):250:257 -> b
+    16:16:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> b
+    16:16:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):258 -> b
+    17:17:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):251:251 -> b
+    1:1:void unsetInsertionPosition():101:101 -> g
+    1:7:void removeOrReplaceByDebugLocalRead():184:190 -> h
+    8:8:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> h
+    8:8:void removeOrReplaceByDebugLocalRead():190 -> h
+    9:9:void removeOrReplaceByDebugLocalRead():185:185 -> h
     1:1:boolean hasNext():59:59 -> hasNext
     1:1:boolean hasPrevious():75:75 -> hasPrevious
-    1:5:void removeInstructionIgnoreOutValue():165:169 -> j
-    6:6:void removeInstructionIgnoreOutValue():166:166 -> j
-    1:1:com.android.tools.r8.ir.code.Instruction next():64:64 -> k
-    1:1:java.lang.Object next():30:30 -> next
+    1:5:void removeInstructionIgnoreOutValue():175:179 -> k
+    6:6:void removeInstructionIgnoreOutValue():176:176 -> k
+    1:1:com.android.tools.r8.ir.code.Instruction next():64:64 -> next
+    1:1:java.lang.Object next():30 -> next
     1:1:int nextIndex():70:70 -> nextIndex
     1:1:java.lang.Object previous():30:30 -> previous
     2:2:com.android.tools.r8.ir.code.Instruction previous():80:80 -> previous
     1:1:int previousIndex():86:86 -> previousIndex
-    1:6:void remove():140:145 -> remove
-    7:7:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> remove
-    7:7:void remove():145 -> remove
-    8:9:void remove():145:146 -> remove
-    10:10:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> remove
-    10:10:void remove():146 -> remove
-    11:25:void remove():146:160 -> remove
-    26:26:void remove():141:141 -> remove
+    1:6:void remove():150:155 -> remove
+    7:7:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> remove
+    7:7:void remove():155 -> remove
+    8:9:void remove():155:156 -> remove
+    10:10:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> remove
+    10:10:void remove():156 -> remove
+    11:25:void remove():156:170 -> remove
+    26:26:void remove():151:151 -> remove
     1:1:void set(java.lang.Object):30:30 -> set
-    2:5:void set(com.android.tools.r8.ir.code.Instruction):123:126 -> set
+    2:5:void set(com.android.tools.r8.ir.code.Instruction):133:136 -> set
     2:5:void set(java.lang.Object):30 -> set
 com.android.tools.r8.ir.code.BasicBlockIterator -> com.android.tools.r8.s.b.r:
     java.util.ListIterator listIterator -> b
@@ -24872,7 +24906,7 @@
     2:2:void add(java.lang.Object):10 -> add
     1:1:boolean hasNext():36:36 -> hasNext
     1:1:boolean hasPrevious():52:52 -> hasPrevious
-    1:1:com.android.tools.r8.ir.code.BasicBlock next():41:41 -> k
+    1:1:com.android.tools.r8.ir.code.BasicBlock next():41:41 -> l
     1:1:java.lang.Object next():10:10 -> next
     1:1:int nextIndex():47:47 -> nextIndex
     1:1:com.android.tools.r8.ir.code.BasicBlock previous():57:57 -> previous
@@ -24901,7 +24935,7 @@
     1:90:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():0:89 -> a
     1:90:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):127 -> a
     91:98:boolean isTwoAddr(com.android.tools.r8.ir.regalloc.RegisterAllocator):51:58 -> a
-    99:99:boolean com.android.tools.r8.utils.InternalOptions.canHaveMul2AddrBug():1499:1499 -> a
+    99:99:boolean com.android.tools.r8.utils.InternalOptions.canHaveMul2AddrBug():1511:1511 -> a
     99:99:boolean isTwoAddr(com.android.tools.r8.ir.regalloc.RegisterAllocator):58 -> a
     100:100:boolean isTwoAddr(com.android.tools.r8.ir.regalloc.RegisterAllocator):58:58 -> a
     101:102:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):132:133 -> a
@@ -24913,11 +24947,11 @@
     1:3:boolean fitsInLit8Instruction(com.android.tools.r8.ir.code.Value):74:76 -> h
     com.android.tools.r8.ir.code.Binop asBinop() -> r
 com.android.tools.r8.ir.code.CanonicalPositions -> com.android.tools.r8.s.b.t:
-    java.util.Map canonicalPositions -> b
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.code.Position callerPosition -> a
-    com.android.tools.r8.ir.code.Position syntheticPosition -> d
-    com.android.tools.r8.ir.code.Position preamblePosition -> c
+    java.util.Map canonicalPositions -> c
+    com.android.tools.r8.ir.code.Position callerPosition -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.Position preamblePosition -> d
+    com.android.tools.r8.ir.code.Position syntheticPosition -> e
     1:1:void <clinit>():16:16 -> <clinit>
     1:12:void <init>(com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.graph.DexMethod):27:38 -> <init>
     1:1:com.android.tools.r8.ir.code.Position getPreamblePosition():42:42 -> a
@@ -24933,12 +24967,12 @@
     23:32:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):94:103 -> a
     1:1:com.android.tools.r8.ir.code.Position getCanonical(com.android.tools.r8.ir.code.Position):50:50 -> b
 com.android.tools.r8.ir.code.CatchHandlers -> com.android.tools.r8.s.b.u:
-    java.util.List targets -> b
-    java.util.List guards -> a
-    java.util.Set uniqueTargets -> c
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.ir.code.CatchHandlers EMPTY_INDICES -> d
-    com.android.tools.r8.ir.code.CatchHandlers EMPTY_BASIC_BLOCK -> e
+    java.util.List targets -> e
+    java.util.List guards -> d
+    java.util.Set uniqueTargets -> f
+    com.android.tools.r8.ir.code.CatchHandlers EMPTY_INDICES -> a
+    com.android.tools.r8.ir.code.CatchHandlers EMPTY_BASIC_BLOCK -> b
+    boolean $assertionsDisabled -> c
     1:19:void <clinit>():17:35 -> <clinit>
     1:3:void <init>():37:39 -> <init>
     4:9:void <init>(java.util.List,java.util.List):42:47 -> <init>
@@ -24974,8 +25008,8 @@
     com.android.tools.r8.graph.DexType guard -> a
     1:3:void <init>(com.android.tools.r8.graph.DexType,java.lang.Object):24:26 -> <init>
 com.android.tools.r8.ir.code.CheckCast -> com.android.tools.r8.s.b.v:
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.graph.DexType type -> h
+    com.android.tools.r8.graph.DexType type -> i
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():27:27 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):36:37 -> <init>
     int maxInValueRegister() -> G2
@@ -24994,7 +25028,7 @@
     22:22:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):224:224 -> a
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):84:84 -> b
     2:9:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):105:112 -> b
-    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     10:10:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):113 -> b
     11:11:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):115:115 -> b
     12:12:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):20:20 -> b
@@ -25007,15 +25041,15 @@
     30:30:boolean verifyTypes(com.android.tools.r8.graph.AppView):175 -> b
     31:51:boolean verifyTypes(com.android.tools.r8.graph.AppView):175:195 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
-    1:1:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> f
+    1:1:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> f
     1:1:com.android.tools.r8.ir.code.Value object():55 -> f
     2:2:com.android.tools.r8.ir.code.Value object():55:55 -> f
     boolean isCheckCast() -> h1
     com.android.tools.r8.ir.code.CheckCast asCheckCast() -> s
     1:1:java.lang.String toString():152:152 -> toString
 com.android.tools.r8.ir.code.Cmp -> com.android.tools.r8.s.b.w:
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.ir.code.Cmp$Bias bias -> i
+    boolean $assertionsDisabled -> i
+    com.android.tools.r8.ir.code.Cmp$Bias bias -> j
     1:1:void <clinit>():26:26 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):35:36 -> <init>
     int maxInValueRegister() -> G2
@@ -25054,9 +25088,9 @@
     1:1:void <init>(java.lang.String,int):28:28 -> <init>
     1:1:com.android.tools.r8.ir.code.Cmp$Bias[] values():28:28 -> a
 com.android.tools.r8.ir.code.ConstClass -> com.android.tools.r8.s.b.x:
-    com.android.tools.r8.graph.DexType clazz -> i
-    boolean $assertionsDisabled -> j
-    int $r8$clinit -> k
+    com.android.tools.r8.graph.DexType clazz -> k
+    boolean $assertionsDisabled -> i
+    int $r8$clinit -> j
     1:1:void <clinit>():26:26 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):31:32 -> <init>
     1:1:int maxInValueRegister():72:72 -> G2
@@ -25075,25 +25109,21 @@
     6:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):66 -> a
     7:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):66:67 -> a
     9:9:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):132:132 -> a
-    9:9:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574 -> a
-    9:9:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):189 -> a
-    10:12:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):190:192 -> a
+    9:9:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):569 -> a
+    9:9:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):184 -> a
+    10:12:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):185:187 -> a
     13:13:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):132:132 -> a
-    14:14:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):137:137 -> a
-    15:15:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):132:132 -> a
-    15:15:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574 -> a
-    15:15:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):137 -> a
-    16:16:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):163:163 -> a
-    17:17:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):168:168 -> a
-    18:403:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.classClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):0:385 -> a
-    18:403:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):168 -> a
-    404:404:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):173:173 -> a
-    405:405:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):178:178 -> a
-    406:406:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):183:183 -> a
+    14:14:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
+    15:15:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):163:163 -> a
+    16:401:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.classClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):0:385 -> a
+    16:401:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):163 -> a
+    402:402:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):168:168 -> a
+    403:403:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):173:173 -> a
+    404:404:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):178:178 -> a
     1:1:com.android.tools.r8.graph.DexType getValue():61:61 -> b
     1:1:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):103 -> b
     2:10:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):103:111 -> b
-    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     11:11:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):117 -> b
     12:12:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> b
     13:13:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):20:20 -> b
@@ -25101,7 +25131,7 @@
     14:14:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):19:19 -> b
     14:14:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):123 -> b
     15:15:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):123:123 -> b
-    16:16:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):147:147 -> b
+    16:16:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):142:142 -> b
     boolean isConstClass() -> j1
     boolean isOutConstant() -> o2
     1:1:java.lang.String toString():83:83 -> toString
@@ -25117,8 +25147,8 @@
     boolean isConstInstruction() -> k1
     com.android.tools.r8.ir.code.ConstInstruction asConstInstruction() -> v
 com.android.tools.r8.ir.code.ConstMethodHandle -> com.android.tools.r8.s.b.z:
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.graph.DexMethodHandle methodHandle -> i
+    boolean $assertionsDisabled -> i
+    com.android.tools.r8.graph.DexMethodHandle methodHandle -> j
     1:1:void <clinit>():21:21 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethodHandle):26:27 -> <init>
     1:1:int maxInValueRegister():76:76 -> G2
@@ -25147,8 +25177,8 @@
     1:1:java.lang.String toString():93:93 -> toString
     com.android.tools.r8.ir.code.ConstMethodHandle asConstMethodHandle() -> w
 com.android.tools.r8.ir.code.ConstMethodType -> com.android.tools.r8.s.b.A:
-    com.android.tools.r8.graph.DexProto methodType -> i
-    boolean $assertionsDisabled -> j
+    com.android.tools.r8.graph.DexProto methodType -> j
+    boolean $assertionsDisabled -> i
     1:1:void <clinit>():21:21 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProto):26:27 -> <init>
     1:1:int maxInValueRegister():76:76 -> G2
@@ -25177,9 +25207,9 @@
     1:1:java.lang.String toString():87:87 -> toString
     com.android.tools.r8.ir.code.ConstMethodType asConstMethodType() -> x
 com.android.tools.r8.ir.code.ConstNumber -> com.android.tools.r8.s.b.B:
-    long value -> i
-    boolean $assertionsDisabled -> j
-    int $r8$clinit -> k
+    long value -> k
+    boolean $assertionsDisabled -> i
+    int $r8$clinit -> j
     1:1:void <clinit>():35:35 -> <clinit>
     1:6:void <init>(com.android.tools.r8.ir.code.Value,long):40:45 -> <init>
     1:1:int maxInValueRegister():245:245 -> G2
@@ -25242,41 +25272,43 @@
     1:4:java.lang.String toString():256:259 -> toString
     com.android.tools.r8.ir.code.ConstNumber asConstNumber() -> y
 com.android.tools.r8.ir.code.ConstString -> com.android.tools.r8.s.b.C:
-    int $r8$clinit -> l
-    boolean $assertionsDisabled -> k
-    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> j
-    com.android.tools.r8.graph.DexString value -> i
-    1:1:void <clinit>():24:24 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):30:32 -> <init>
-    1:1:int maxInValueRegister():82:82 -> G2
+    boolean $assertionsDisabled -> i
+    int $r8$clinit -> j
+    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> l
+    com.android.tools.r8.graph.DexString value -> k
+    1:1:void <clinit>():26:26 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):32:34 -> <init>
+    1:1:int maxInValueRegister():84:84 -> G2
     int maxOutValueRegister() -> H2
     int opcode() -> I2
-    1:1:com.android.tools.r8.graph.DexString getValue():61:61 -> M2
-    1:11:boolean instructionInstanceCanThrow():118:128 -> R0
+    1:1:com.android.tools.r8.graph.DexString getValue():63:63 -> M2
+    1:11:boolean instructionInstanceCanThrow():120:130 -> R0
     boolean instructionTypeCanBeCanonicalized() -> S0
-    1:1:boolean instructionTypeCanThrow():98:98 -> T0
-    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):42:42 -> a
-    2:3:com.android.tools.r8.ir.code.ConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstString):52:53 -> a
-    4:4:com.android.tools.r8.graph.DexString getValue():61:61 -> a
-    4:4:com.android.tools.r8.ir.code.ConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstString):53 -> a
-    5:5:com.android.tools.r8.ir.code.ConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstString):53:53 -> a
-    6:6:com.android.tools.r8.ir.code.Value dest():57:57 -> a
-    6:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71 -> a
-    7:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:72 -> a
-    9:9:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):137:137 -> a
-    10:10:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    10:10:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):137 -> a
-    11:11:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):137:137 -> a
-    12:12:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):142:142 -> a
-    13:13:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):147:147 -> a
-    14:14:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):152:152 -> a
-    15:15:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):157:157 -> a
-    16:19:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):168:171 -> a
-    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):77:77 -> b
+    1:1:boolean instructionTypeCanThrow():100:100 -> T0
+    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):44:44 -> a
+    2:3:com.android.tools.r8.ir.code.ConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstString):54:55 -> a
+    4:4:com.android.tools.r8.graph.DexString getValue():63:63 -> a
+    4:4:com.android.tools.r8.ir.code.ConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstString):55 -> a
+    5:5:com.android.tools.r8.ir.code.ConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstString):55:55 -> a
+    6:6:com.android.tools.r8.ir.code.Value dest():59:59 -> a
+    6:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73 -> a
+    7:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:74 -> a
+    9:9:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):139:139 -> a
+    10:10:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    10:10:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):139 -> a
+    11:14:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):139:142 -> a
+    15:15:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):140:140 -> a
+    16:16:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):147:147 -> a
+    17:17:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):152:152 -> a
+    18:18:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):157:157 -> a
+    19:19:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):162:162 -> a
+    20:23:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):173:176 -> a
+    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):79:79 -> b
+    2:4:boolean verifyTypes(com.android.tools.r8.graph.AppView):181:183 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     boolean isConstString() -> o1
     boolean isOutConstant() -> o2
-    1:1:java.lang.String toString():93:93 -> toString
+    1:1:java.lang.String toString():95:95 -> toString
     com.android.tools.r8.ir.code.ConstString asConstString() -> z
 com.android.tools.r8.ir.code.ConstantValueUtils -> com.android.tools.r8.s.b.D:
     boolean $assertionsDisabled -> a
@@ -25294,20 +25326,20 @@
     23:27:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):45:49 -> a
     28:36:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):48:56 -> a
 com.android.tools.r8.ir.code.DebugLocalRead -> com.android.tools.r8.s.b.E:
-    1:1:void <init>():19:19 -> <init>
-    1:1:int maxInValueRegister():59:59 -> G2
-    1:1:int maxOutValueRegister():64:64 -> H2
+    1:1:void <init>():20:20 -> <init>
+    1:1:int maxInValueRegister():60:60 -> G2
+    1:1:int maxOutValueRegister():65:65 -> H2
     int opcode() -> I2
     boolean hasInvariantOutType() -> N0
     boolean isAllowedAfterThrowingInstruction() -> V0
-    boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
     1:111:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDebugLocalRead():0:110 -> a
-    1:111:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):70 -> a
+    1:111:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):71 -> a
     void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
-    112:112:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):29:29 -> a
-    113:113:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):44:44 -> a
-    114:114:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):49:49 -> a
-    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54:54 -> b
+    112:112:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):30:30 -> a
+    113:113:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45:45 -> a
+    114:114:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):50:50 -> a
+    115:115:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):78:78 -> a
+    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):55:55 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     boolean isDebugLocalRead() -> s1
 com.android.tools.r8.ir.code.DebugLocalUninitialized -> com.android.tools.r8.s.b.F:
@@ -25329,54 +25361,54 @@
     boolean isOutConstant() -> o2
     boolean isDebugLocalWrite() -> u1
 com.android.tools.r8.ir.code.DebugLocalsChange -> com.android.tools.r8.s.b.H:
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap starting -> i
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap ending -> h
-    1:1:void <clinit>():19:19 -> <clinit>
-    1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):26:29 -> <init>
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap starting -> j
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap ending -> i
+    boolean $assertionsDisabled -> h
+    1:1:void <clinit>():20:20 -> <clinit>
+    1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):27:30 -> <init>
     com.android.tools.r8.ir.code.DebugLocalsChange asDebugLocalsChange() -> A
-    1:1:int maxInValueRegister():77:77 -> G2
-    1:1:int maxOutValueRegister():82:82 -> H2
+    1:1:int maxInValueRegister():78:78 -> G2
+    1:1:int maxOutValueRegister():83:83 -> H2
     int opcode() -> I2
-    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getEnding():43:43 -> M2
+    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getEnding():44:44 -> M2
     boolean hasInvariantOutType() -> N0
-    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getStarting():47:47 -> N2
+    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getStarting():48:48 -> N2
     boolean isAllowedAfterThrowingInstruction() -> V0
-    boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
     1:115:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDebugLocalsChange():0:114 -> a
-    1:115:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):103 -> a
-    116:116:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):39:39 -> a
-    117:117:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getEnding():43:43 -> a
-    117:117:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):108 -> a
-    118:120:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):108:110 -> a
-    121:121:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getStarting():47:47 -> a
-    121:121:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):114 -> a
-    122:125:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):114:117 -> a
-    126:126:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62:62 -> a
-    127:127:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):124:124 -> a
-    128:128:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):134:134 -> a
-    1:6:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):67:72 -> b
+    1:115:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):104 -> a
+    116:116:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):40:40 -> a
+    117:117:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getEnding():44:44 -> a
+    117:117:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):109 -> a
+    118:120:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):109:111 -> a
+    121:121:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getStarting():48:48 -> a
+    121:121:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):115 -> a
+    122:125:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):115:118 -> a
+    126:126:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):63:63 -> a
+    127:127:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):88:88 -> a
+    128:128:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):125:125 -> a
+    129:129:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135:135 -> a
+    1:6:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):68:73 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
-    1:6:java.lang.String toString():92:97 -> toString
+    1:6:java.lang.String toString():93:98 -> toString
     boolean isDebugLocalsChange() -> v1
 com.android.tools.r8.ir.code.DebugPosition -> com.android.tools.r8.s.b.I:
     boolean $assertionsDisabled -> h
-    1:1:void <clinit>():16:16 -> <clinit>
-    1:1:void <init>():19:19 -> <init>
+    1:1:void <clinit>():17:17 -> <clinit>
+    1:1:void <init>():20:20 -> <init>
     com.android.tools.r8.ir.code.DebugPosition asDebugPosition() -> B
-    1:1:int maxInValueRegister():55:55 -> G2
-    1:1:int maxOutValueRegister():60:60 -> H2
+    1:1:int maxInValueRegister():56:56 -> G2
+    1:1:int maxOutValueRegister():61:61 -> H2
     int opcode() -> I2
     boolean hasInvariantOutType() -> N0
     boolean isAllowedAfterThrowingInstruction() -> V0
-    boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
     1:119:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDebugPosition():0:118 -> a
-    1:119:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):66 -> a
+    1:119:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):67 -> a
     void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
-    120:120:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):29:29 -> a
-    121:122:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):44:45 -> a
-    123:125:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):86:88 -> a
-    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):50:50 -> b
+    120:120:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):30:30 -> a
+    121:122:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45:46 -> a
+    123:123:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):72:72 -> a
+    124:126:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):87:89 -> a
+    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):51:51 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     boolean isDebugPosition() -> w1
 com.android.tools.r8.ir.code.DefaultAliasedValueConfiguration -> com.android.tools.r8.s.b.J:
@@ -25403,40 +25435,40 @@
     3:3:java.lang.Object visit(com.android.tools.r8.ir.code.StaticGet):314:314 -> a
     4:4:java.lang.Object visit(com.android.tools.r8.ir.code.StaticPut):319:319 -> a
 com.android.tools.r8.ir.code.DexItemBasedConstString -> com.android.tools.r8.s.b.L:
-    int $r8$clinit -> m
-    com.android.tools.r8.graph.DexReference item -> i
-    boolean $assertionsDisabled -> l
-    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> k
-    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> j
-    1:1:void <clinit>():23:23 -> <clinit>
-    1:4:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):34:37 -> <init>
+    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> l
+    boolean $assertionsDisabled -> i
+    int $r8$clinit -> j
+    com.android.tools.r8.graph.DexReference item -> k
+    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> m
+    1:1:void <clinit>():24:24 -> <clinit>
+    1:4:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):35:38 -> <init>
     com.android.tools.r8.ir.code.DexItemBasedConstString asDexItemBasedConstString() -> C
-    1:1:int maxInValueRegister():102:102 -> G2
+    1:1:int maxInValueRegister():103:103 -> G2
     int maxOutValueRegister() -> H2
     int opcode() -> I2
-    1:1:com.android.tools.r8.graph.DexReference getItem():63:63 -> M2
-    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():67:67 -> N2
+    1:1:com.android.tools.r8.graph.DexReference getItem():64:64 -> M2
+    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():68:68 -> N2
     boolean instructionInstanceCanThrow() -> R0
     boolean instructionTypeCanBeCanonicalized() -> S0
-    1:1:boolean instructionTypeCanThrow():118:118 -> T0
-    boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
-    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):47:47 -> a
-    2:3:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):57:58 -> a
-    4:4:com.android.tools.r8.graph.DexReference getItem():63:63 -> a
-    4:4:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):59 -> a
-    5:5:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):59:59 -> a
-    6:7:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):87:88 -> a
-    8:8:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):141:141 -> a
-    9:9:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):146:146 -> a
-    10:10:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):151:151 -> a
-    11:11:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):156:156 -> a
-    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):162:162 -> a
-    13:107:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDexItemBasedConstString(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexProgramClass):0:94 -> a
-    13:107:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):162 -> a
-    1:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95:97 -> b
+    1:1:boolean instructionTypeCanThrow():119:119 -> T0
+    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):48:48 -> a
+    2:3:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):58:59 -> a
+    4:4:com.android.tools.r8.graph.DexReference getItem():64:64 -> a
+    4:4:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):60 -> a
+    5:5:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):60:60 -> a
+    6:7:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88:89 -> a
+    8:8:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):137:137 -> a
+    9:9:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):142:142 -> a
+    10:10:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):147:147 -> a
+    11:11:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):152:152 -> a
+    12:12:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):157:157 -> a
+    13:13:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):163:163 -> a
+    14:108:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDexItemBasedConstString(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexProgramClass):0:94 -> a
+    14:108:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):163 -> a
+    1:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):96:98 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     boolean isOutConstant() -> o2
-    1:1:java.lang.String toString():113:113 -> toString
+    1:1:java.lang.String toString():114:114 -> toString
     boolean isDexItemBasedConstString() -> x1
 com.android.tools.r8.ir.code.Div -> com.android.tools.r8.s.b.M:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:24 -> <init>
@@ -25464,12 +25496,12 @@
     1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):59:59 -> f
     boolean isDiv() -> y1
 com.android.tools.r8.ir.code.DominatorTree -> com.android.tools.r8.s.b.O:
-    com.android.tools.r8.ir.code.BasicBlock[] sorted -> a
-    com.android.tools.r8.ir.code.BasicBlock[] doms -> b
-    boolean obsolete -> e
-    boolean $assertionsDisabled -> f
-    int unreachableStartIndex -> d
-    com.android.tools.r8.ir.code.BasicBlock normalExitBlock -> c
+    com.android.tools.r8.ir.code.BasicBlock[] doms -> c
+    com.android.tools.r8.ir.code.BasicBlock[] sorted -> b
+    boolean obsolete -> f
+    int unreachableStartIndex -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock normalExitBlock -> d
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.DominatorTree$Assumption):40:40 -> <init>
     2:56:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.DominatorTree$Assumption):30:84 -> <init>
@@ -25496,10 +25528,10 @@
     1:2:void numberBlocks():240:241 -> d
     1:9:java.lang.String toString():308:316 -> toString
 com.android.tools.r8.ir.code.DominatorTree$1 -> com.android.tools.r8.s.b.N:
-    com.android.tools.r8.ir.code.DominatorTree this$0 -> c
-    com.android.tools.r8.ir.code.BasicBlock val$dominated -> b
-    boolean $assertionsDisabled -> d
-    com.android.tools.r8.ir.code.BasicBlock current -> a
+    com.android.tools.r8.ir.code.DominatorTree this$0 -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock val$dominated -> c
+    com.android.tools.r8.ir.code.BasicBlock current -> b
     1:1:void <clinit>():196:196 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.DominatorTree,com.android.tools.r8.ir.code.BasicBlock):196:197 -> <init>
     1:1:boolean hasNext():201:201 -> hasNext
@@ -25562,8 +25594,8 @@
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     1:6:void setOutValue(com.android.tools.r8.ir.code.Value):55:60 -> e
 com.android.tools.r8.ir.code.FieldInstruction -> com.android.tools.r8.s.b.T:
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.graph.DexField field -> h
+    com.android.tools.r8.graph.DexField field -> i
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():27:27 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):32:32 -> <init>
     2:4:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,java.util.List):36:38 -> <init>
@@ -25575,7 +25607,7 @@
     com.android.tools.r8.ir.code.Value value() -> O2
     1:1:boolean lambda$instructionInstanceCanThrow$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):115:115 -> a
     2:24:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):164:186 -> a
-    25:25:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    25:25:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     25:25:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):186 -> a
     26:37:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):190:201 -> a
     38:39:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):207:208 -> a
@@ -25586,19 +25618,13 @@
     2:6:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):69:73 -> b
     7:7:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> b
     7:7:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):75 -> b
-    8:21:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):75:88 -> b
-    22:1501:boolean com.android.tools.r8.ir.code.Instruction$SideEffectAssumption.canAssumeReceiverIsNotNull():0:1479 -> b
-    22:1501:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):89 -> b
-    1502:1514:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):90:102 -> b
-    1515:2990:boolean com.android.tools.r8.ir.code.Instruction$SideEffectAssumption.canAssumeClassIsAlreadyInitialized():0:1475 -> b
-    1515:2990:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):102 -> b
-    2991:3002:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):105:116 -> b
-    3003:3003:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):112:112 -> b
+    8:49:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):75:116 -> b
+    50:50:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):112:112 -> b
     1:6:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):131:136 -> f
     7:7:com.android.tools.r8.graph.DexField getField():48:48 -> f
     7:7:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):137 -> f
     8:11:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):139:142 -> f
-    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> f
+    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> f
     12:12:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):142 -> f
     13:23:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):144:154 -> f
 com.android.tools.r8.ir.code.FieldMemberType -> com.android.tools.r8.s.b.U:
@@ -25631,8 +25657,8 @@
     44:44:com.android.tools.r8.ir.code.FieldMemberType fromTypeDescriptorChar(char):30:30 -> a
     44:44:com.android.tools.r8.ir.code.FieldMemberType fromDexType(com.android.tools.r8.graph.DexType):51 -> a
 com.android.tools.r8.ir.code.FixedRegisterValue -> com.android.tools.r8.s.b.V:
-    boolean $assertionsDisabled -> r
-    int register -> q
+    boolean $assertionsDisabled -> q
+    int register -> r
     1:1:void <clinit>():12:12 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement,int):17:19 -> <init>
     boolean isConstant() -> L
@@ -25662,237 +25688,237 @@
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):85:85 -> b
     1:4:java.lang.String toString():71:74 -> toString
 com.android.tools.r8.ir.code.IRCode -> com.android.tools.r8.s.b.X:
-    com.android.tools.r8.ir.code.ValueNumberGenerator valueNumberGenerator -> c
-    boolean $assertionsDisabled -> k
-    boolean numbered -> e
-    int nextInstructionNumber -> f
-    int usedMarkingColors -> d
-    boolean allThrowingInstructionsHavePositions -> g
-    com.android.tools.r8.ir.code.IRMetadata metadata -> h
-    com.android.tools.r8.graph.ProgramMethod method -> a
-    com.android.tools.r8.utils.InternalOptions options -> i
-    com.android.tools.r8.origin.Origin origin -> j
-    java.util.LinkedList blocks -> b
+    com.android.tools.r8.ir.code.ValueNumberGenerator valueNumberGenerator -> d
+    boolean numbered -> f
+    int nextInstructionNumber -> g
+    int usedMarkingColors -> e
+    boolean allThrowingInstructionsHavePositions -> h
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.ProgramMethod method -> b
+    com.android.tools.r8.origin.Origin origin -> k
+    com.android.tools.r8.ir.code.IRMetadata metadata -> i
+    com.android.tools.r8.utils.InternalOptions options -> j
+    java.util.LinkedList blocks -> c
     1:1:void <clinit>():58:58 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.ProgramMethod,java.util.LinkedList,com.android.tools.r8.ir.code.ValueNumberGenerator,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.origin.Origin):132:132 -> <init>
     2:32:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.ProgramMethod,java.util.LinkedList,com.android.tools.r8.ir.code.ValueNumberGenerator,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.origin.Origin):112:142 -> <init>
-    1:3:java.util.Set removeUnreachableBlocks():1305:1307 -> A
-    4:4:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1322:1322 -> A
-    4:4:java.util.Set removeUnreachableBlocks():1307 -> A
-    5:14:java.util.Set removeUnreachableBlocks():1308:1317 -> A
-    1:1:int reserveMarkingColor():1207:1207 -> B
-    2:2:boolean anyMarkingColorAvailable():1221:1221 -> B
-    2:2:int reserveMarkingColor():1207 -> B
-    3:10:int reserveMarkingColor():1207:1214 -> B
-    11:12:boolean verifyNoBlocksMarked(int):489:490 -> B
-    11:12:int reserveMarkingColor():1215 -> B
-    1:24:void splitCriticalEdges():356:379 -> C
-    25:34:void splitCriticalEdges():378:387 -> C
-    1:1:java.util.stream.Stream streamInstructions():1002:1002 -> D
-    1:24:com.android.tools.r8.com.google.common.collect.ImmutableList depthFirstSorting():514:537 -> E
-    1:24:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():507 -> E
-    25:25:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():508:508 -> E
-    26:37:com.android.tools.r8.com.google.common.collect.ImmutableList reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):543:554 -> E
-    26:37:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():509 -> E
-    1:20:void traceBlocks():418:437 -> F
-    21:33:void traceBlocks():436:448 -> F
-    34:34:boolean noColorsInUse():1250:1250 -> F
-    34:34:void traceBlocks():448 -> F
-    35:35:void traceBlocks():448:448 -> F
-    1:12:boolean verifyNoImpreciseOrBottomTypes():928:939 -> G
-    1:7:boolean verifyNoNullabilityBottomTypes():943:949 -> H
-    1:12:boolean verifyNoValueWithOnlyAssumeInstructionAsUsers():953:964 -> I
-    1:14:boolean verifySplitCriticalEdges():391:404 -> J
-    1:17:boolean controlFlowMayDependOnEnvironment(com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis):284:300 -> a
-    18:18:boolean lambda$prepareBlocksForCatchHandlers$0(com.android.tools.r8.ir.code.BasicBlock):352:352 -> a
-    19:23:void ensureBlockNumbering():452:456 -> a
-    19:23:void print(com.android.tools.r8.utils.CfgPrinter):558 -> a
-    24:25:void print(com.android.tools.r8.utils.CfgPrinter):559:560 -> a
-    26:35:boolean hasNoVerticallyMergedClasses(com.android.tools.r8.graph.AppView):581:590 -> a
-    36:36:boolean lambda$verifyTypes$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.BasicBlock):615:615 -> a
-    37:37:java.util.Collection lambda$consistentPredecessorSuccessors$2(java.util.Collection):742:742 -> a
-    38:38:java.util.Collection lambda$consistentPredecessorSuccessors$3(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):746:746 -> a
-    39:39:void lambda$consistentBlockNumbering$7(java.lang.Integer,java.lang.Long):787:787 -> a
-    40:46:boolean lambda$verifyNoImpreciseOrBottomTypes$8(com.android.tools.r8.ir.code.Value):930:936 -> a
-    47:47:boolean lambda$verifyNoImpreciseOrBottomTypes$8(com.android.tools.r8.ir.code.Value):935:935 -> a
-    48:51:boolean lambda$wrapSSAVerifierWithStackValueHandling$13(java.util.function.Predicate,com.android.tools.r8.ir.code.Value):971:974 -> a
-    52:52:java.lang.Iterable blocks(java.util.function.Predicate):994:994 -> a
-    53:66:java.util.List collectArguments(boolean):1062:1075 -> a
-    53:66:java.util.List collectArguments():1058 -> a
-    67:67:java.util.List collectArguments(boolean):1073:1073 -> a
-    67:67:java.util.List collectArguments():1058 -> a
-    68:68:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1091:1091 -> a
-    69:69:com.android.tools.r8.ir.code.ConstNumber createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1103:1103 -> a
-    70:70:com.android.tools.r8.ir.code.ConstNumber createIntConstant(int,com.android.tools.r8.graph.DebugLocalInfo):1119:1119 -> a
-    71:71:void setAllThrowingInstructionsHavePositions(boolean):1162:1162 -> a
-    72:78:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1192:1198 -> a
-    79:79:boolean isMarkingColorInUse(int):1237:1237 -> a
-    80:80:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1254:1254 -> a
-    81:89:java.util.Set getBlocksReachableFromExclusive(com.android.tools.r8.ir.code.BasicBlock):1279:1287 -> a
-    81:89:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1255 -> a
-    90:95:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1256:1261 -> a
+    1:3:java.util.Set removeUnreachableBlocks():1309:1311 -> A
+    4:4:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1326:1326 -> A
+    4:4:java.util.Set removeUnreachableBlocks():1311 -> A
+    5:14:java.util.Set removeUnreachableBlocks():1312:1321 -> A
+    1:1:int reserveMarkingColor():1211:1211 -> B
+    2:2:boolean anyMarkingColorAvailable():1225:1225 -> B
+    2:2:int reserveMarkingColor():1211 -> B
+    3:10:int reserveMarkingColor():1211:1218 -> B
+    11:12:boolean verifyNoBlocksMarked(int):493:494 -> B
+    11:12:int reserveMarkingColor():1219 -> B
+    1:24:void splitCriticalEdges():360:383 -> C
+    25:34:void splitCriticalEdges():382:391 -> C
+    1:1:java.util.stream.Stream streamInstructions():1006:1006 -> D
+    1:24:com.android.tools.r8.com.google.common.collect.ImmutableList depthFirstSorting():518:541 -> E
+    1:24:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():511 -> E
+    25:25:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():512:512 -> E
+    26:37:com.android.tools.r8.com.google.common.collect.ImmutableList reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):547:558 -> E
+    26:37:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():513 -> E
+    1:20:void traceBlocks():422:441 -> F
+    21:33:void traceBlocks():440:452 -> F
+    34:34:boolean noColorsInUse():1254:1254 -> F
+    34:34:void traceBlocks():452 -> F
+    35:35:void traceBlocks():452:452 -> F
+    1:12:boolean verifyNoImpreciseOrBottomTypes():932:943 -> G
+    1:7:boolean verifyNoNullabilityBottomTypes():947:953 -> H
+    1:12:boolean verifyNoValueWithOnlyAssumeInstructionAsUsers():957:968 -> I
+    1:14:boolean verifySplitCriticalEdges():395:408 -> J
+    1:17:boolean controlFlowMayDependOnEnvironment(com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis):288:304 -> a
+    18:18:boolean lambda$prepareBlocksForCatchHandlers$0(com.android.tools.r8.ir.code.BasicBlock):356:356 -> a
+    19:23:void ensureBlockNumbering():456:460 -> a
+    19:23:void print(com.android.tools.r8.utils.CfgPrinter):562 -> a
+    24:25:void print(com.android.tools.r8.utils.CfgPrinter):563:564 -> a
+    26:35:boolean hasNoVerticallyMergedClasses(com.android.tools.r8.graph.AppView):585:594 -> a
+    36:36:boolean lambda$verifyTypes$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.BasicBlock):619:619 -> a
+    37:37:java.util.Collection lambda$consistentPredecessorSuccessors$2(java.util.Collection):746:746 -> a
+    38:38:java.util.Collection lambda$consistentPredecessorSuccessors$3(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):750:750 -> a
+    39:39:void lambda$consistentBlockNumbering$7(java.lang.Integer,java.lang.Long):791:791 -> a
+    40:46:boolean lambda$verifyNoImpreciseOrBottomTypes$8(com.android.tools.r8.ir.code.Value):934:940 -> a
+    47:47:boolean lambda$verifyNoImpreciseOrBottomTypes$8(com.android.tools.r8.ir.code.Value):939:939 -> a
+    48:51:boolean lambda$wrapSSAVerifierWithStackValueHandling$13(java.util.function.Predicate,com.android.tools.r8.ir.code.Value):975:978 -> a
+    52:52:java.lang.Iterable blocks(java.util.function.Predicate):998:998 -> a
+    53:66:java.util.List collectArguments(boolean):1066:1079 -> a
+    53:66:java.util.List collectArguments():1062 -> a
+    67:67:java.util.List collectArguments(boolean):1077:1077 -> a
+    67:67:java.util.List collectArguments():1062 -> a
+    68:68:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1095:1095 -> a
+    69:69:com.android.tools.r8.ir.code.ConstNumber createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1107:1107 -> a
+    70:70:com.android.tools.r8.ir.code.ConstNumber createIntConstant(int,com.android.tools.r8.graph.DebugLocalInfo):1123:1123 -> a
+    71:71:void setAllThrowingInstructionsHavePositions(boolean):1166:1166 -> a
+    72:78:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1196:1202 -> a
+    79:79:boolean isMarkingColorInUse(int):1241:1241 -> a
+    80:80:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1258:1258 -> a
+    81:89:java.util.Set getBlocksReachableFromExclusive(com.android.tools.r8.ir.code.BasicBlock):1283:1291 -> a
+    81:89:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1259 -> a
+    90:95:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1260:1265 -> a
     96:96:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> a
-    96:96:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1261 -> a
-    97:103:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1262:1268 -> a
+    96:96:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1265 -> a
+    97:103:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1266:1272 -> a
     104:104:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> a
-    104:104:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1268 -> a
-    105:105:void markTransitiveSuccessors(java.util.Deque,int):1326:1326 -> a
-    106:106:boolean isMarkingColorInUse(int):1237:1237 -> a
-    106:106:void markTransitiveSuccessors(java.util.Deque,int):1326 -> a
-    107:108:boolean anyBlocksMarkedWithColor(int):1241:1242 -> a
-    107:108:void markTransitiveSuccessors(java.util.Deque,int):1326 -> a
-    109:118:void markTransitiveSuccessors(java.util.Deque,int):1326:1335 -> a
-    119:119:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1347:1347 -> a
-    120:120:boolean isMarkingColorInUse(int):1237:1237 -> a
-    120:120:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1347 -> a
-    121:132:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1347:1358 -> a
-    133:154:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1369:1390 -> a
-    155:155:com.android.tools.r8.ir.code.InstructionIterator com.android.tools.r8.ir.code.BasicBlock.iterator(com.android.tools.r8.ir.code.Instruction):1662:1662 -> a
-    155:155:java.util.Iterator lambda$getInstructionsReachableFrom$16(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):1266 -> a
-    1:1:void removeBlocks(java.util.Collection):496:496 -> b
-    2:3:boolean verifyTypes(com.android.tools.r8.graph.AppView):611:612 -> b
-    4:7:boolean validAssumeDynamicTypeInstructions(com.android.tools.r8.graph.AppView):620:623 -> b
-    4:7:boolean verifyTypes(com.android.tools.r8.graph.AppView):612 -> b
-    8:10:boolean verifyTypes(com.android.tools.r8.graph.AppView):613:615 -> b
-    11:11:java.util.Collection lambda$consistentPredecessorSuccessors$4(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):749:749 -> b
-    12:14:boolean lambda$verifyNoNullabilityBottomTypes$9(com.android.tools.r8.ir.code.Value):945:945 -> b
-    15:15:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$10(com.android.tools.r8.ir.code.Instruction):956:956 -> b
-    16:16:java.lang.Iterable instructions(java.util.function.Predicate):1006:1006 -> b
-    17:17:com.android.tools.r8.ir.code.BasicBlockIterator listIterator(int):1032:1032 -> b
-    18:23:boolean computeAllThrowingInstructionsHavePositions():1166:1171 -> b
+    104:104:java.lang.Iterable getInstructionsReachableFrom(com.android.tools.r8.ir.code.Instruction):1272 -> a
+    105:105:void markTransitiveSuccessors(java.util.Deque,int):1330:1330 -> a
+    106:106:boolean isMarkingColorInUse(int):1241:1241 -> a
+    106:106:void markTransitiveSuccessors(java.util.Deque,int):1330 -> a
+    107:108:boolean anyBlocksMarkedWithColor(int):1245:1246 -> a
+    107:108:void markTransitiveSuccessors(java.util.Deque,int):1330 -> a
+    109:118:void markTransitiveSuccessors(java.util.Deque,int):1330:1339 -> a
+    119:119:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1351:1351 -> a
+    120:120:boolean isMarkingColorInUse(int):1241:1241 -> a
+    120:120:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1351 -> a
+    121:132:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1351:1362 -> a
+    133:154:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1373:1394 -> a
+    155:155:com.android.tools.r8.ir.code.InstructionIterator com.android.tools.r8.ir.code.BasicBlock.iterator(com.android.tools.r8.ir.code.Instruction):1643:1643 -> a
+    155:155:java.util.Iterator lambda$getInstructionsReachableFrom$16(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):1270 -> a
+    1:1:void removeBlocks(java.util.Collection):500:500 -> b
+    2:3:boolean verifyTypes(com.android.tools.r8.graph.AppView):615:616 -> b
+    4:7:boolean validAssumeInstructions(com.android.tools.r8.graph.AppView):624:627 -> b
+    4:7:boolean verifyTypes(com.android.tools.r8.graph.AppView):616 -> b
+    8:10:boolean verifyTypes(com.android.tools.r8.graph.AppView):617:619 -> b
+    11:11:java.util.Collection lambda$consistentPredecessorSuccessors$4(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):753:753 -> b
+    12:14:boolean lambda$verifyNoNullabilityBottomTypes$9(com.android.tools.r8.ir.code.Value):949:949 -> b
+    15:15:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$10(com.android.tools.r8.ir.code.Instruction):960:960 -> b
+    16:16:java.lang.Iterable instructions(java.util.function.Predicate):1010:1010 -> b
+    17:17:com.android.tools.r8.ir.code.BasicBlockIterator listIterator(int):1036:1036 -> b
+    18:23:boolean computeAllThrowingInstructionsHavePositions():1170:1175 -> b
     1:53:java.util.Map computeLiveAtEntrySets():166:218 -> c
     54:74:java.util.Map computeLiveAtEntrySets():217:237 -> c
-    75:75:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> c
+    75:75:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> c
     75:75:java.util.Map computeLiveAtEntrySets():241 -> c
-    76:111:java.util.Map computeLiveAtEntrySets():241:276 -> c
-    112:112:boolean com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets.isEmpty():91:91 -> c
-    112:112:java.util.Map computeLiveAtEntrySets():276 -> c
-    113:115:java.util.Map computeLiveAtEntrySets():276:278 -> c
-    116:116:java.util.Collection lambda$consistentPredecessorSuccessors$5(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):760:760 -> c
-    117:123:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$12(com.android.tools.r8.ir.code.Value):955:955 -> c
-    129:129:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$12(com.android.tools.r8.ir.code.Value):961:961 -> c
-    130:130:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$11(com.android.tools.r8.ir.code.Instruction):959:959 -> c
-    131:131:java.util.Iterator lambda$blocks$14(java.util.function.Predicate):994:994 -> c
-    132:132:void returnMarkingColor(int):1231:1231 -> c
-    133:133:boolean isMarkingColorInUse(int):1237:1237 -> c
-    133:133:void returnMarkingColor(int):1231 -> c
-    134:134:void returnMarkingColor(int):1231:1231 -> c
-    135:136:void clearMarks(int):473:474 -> c
-    135:136:void returnMarkingColor(int):1232 -> c
-    137:137:void returnMarkingColor(int):1233:1233 -> c
-    1:1:java.util.Collection lambda$consistentPredecessorSuccessors$6(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):767:767 -> d
-    2:2:java.util.Iterator lambda$instructions$15(java.util.function.Predicate):1006:1006 -> d
-    3:9:java.util.List computeNormalExitBlocks():1018:1024 -> d
-    1:4:boolean consistentBlockNumbering():782:785 -> e
-    5:12:boolean verifySSATypeLattice(java.util.function.Predicate):980:987 -> e
-    1:33:boolean consistentPredecessorSuccessors():736:768 -> f
-    34:34:java.util.function.Predicate wrapSSAVerifierWithStackValueHandling(java.util.function.Predicate):968:968 -> f
+    76:115:java.util.Map computeLiveAtEntrySets():241:280 -> c
+    116:116:boolean com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets.isEmpty():91:91 -> c
+    116:116:java.util.Map computeLiveAtEntrySets():280 -> c
+    117:119:java.util.Map computeLiveAtEntrySets():280:282 -> c
+    120:120:java.util.Collection lambda$consistentPredecessorSuccessors$5(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):764:764 -> c
+    121:127:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$12(com.android.tools.r8.ir.code.Value):959:959 -> c
+    133:133:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$12(com.android.tools.r8.ir.code.Value):965:965 -> c
+    134:134:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$11(com.android.tools.r8.ir.code.Instruction):963:963 -> c
+    135:135:java.util.Iterator lambda$blocks$14(java.util.function.Predicate):998:998 -> c
+    136:136:void returnMarkingColor(int):1235:1235 -> c
+    137:137:boolean isMarkingColorInUse(int):1241:1241 -> c
+    137:137:void returnMarkingColor(int):1235 -> c
+    138:138:void returnMarkingColor(int):1235:1235 -> c
+    139:140:void clearMarks(int):477:478 -> c
+    139:140:void returnMarkingColor(int):1236 -> c
+    141:141:void returnMarkingColor(int):1237:1237 -> c
+    1:1:java.util.Collection lambda$consistentPredecessorSuccessors$6(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):771:771 -> d
+    2:2:java.util.Iterator lambda$instructions$15(java.util.function.Predicate):1010:1010 -> d
+    3:9:java.util.List computeNormalExitBlocks():1022:1028 -> d
+    1:4:boolean consistentBlockNumbering():786:789 -> e
+    5:12:boolean verifySSATypeLattice(java.util.function.Predicate):984:991 -> e
+    1:33:boolean consistentPredecessorSuccessors():740:772 -> f
+    34:34:java.util.function.Predicate wrapSSAVerifierWithStackValueHandling(java.util.function.Predicate):972:972 -> f
     1:1:com.android.tools.r8.graph.ProgramMethod context():150:150 -> g
-    1:1:com.android.tools.r8.ir.code.ConstNumber createConstNull():1150:1150 -> h
-    2:2:com.android.tools.r8.ir.code.ConstNumber createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> h
-    2:2:com.android.tools.r8.ir.code.ConstNumber createConstNull():1150 -> h
-    1:1:boolean doAllThrowingInstructionsHavePositions():1158:1158 -> i
+    1:1:com.android.tools.r8.ir.code.ConstNumber createConstNull():1154:1154 -> h
+    2:2:com.android.tools.r8.ir.code.ConstNumber createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement):1103:1103 -> h
+    2:2:com.android.tools.r8.ir.code.ConstNumber createConstNull():1154 -> h
+    1:1:boolean doAllThrowingInstructionsHavePositions():1162:1162 -> i
     1:1:com.android.tools.r8.ir.code.BasicBlock entryBlock():159:159 -> j
-    1:1:int getHighestBlockNumber():1141:1141 -> k
-    1:1:int getNextInstructionNumber():1054:1054 -> l
-    1:7:com.android.tools.r8.ir.code.Value getThis():1080:1086 -> m
-    1:3:java.util.Set getUnreachableBlocks():1292:1294 -> n
-    4:4:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1322:1322 -> n
-    4:4:java.util.Set getUnreachableBlocks():1294 -> n
-    5:10:java.util.Set getUnreachableBlocks():1295:1300 -> n
-    1:1:com.android.tools.r8.ir.code.InstructionIterator instructionIterator():1010:1010 -> o
-    1:1:java.lang.Iterable instructions():998:998 -> p
-    1:1:boolean isConsistentGraph():598:598 -> q
-    2:2:boolean noColorsInUse():1250:1250 -> q
-    2:2:boolean isConsistentGraph():598 -> q
-    3:5:boolean isConsistentGraph():598:600 -> q
-    6:7:boolean consistentCatchHandlers():775:776 -> q
-    6:7:boolean isConsistentGraph():601 -> q
-    8:8:boolean isConsistentGraph():602:602 -> q
-    9:12:boolean consistentBlockInstructions():794:797 -> q
-    9:12:boolean isConsistentGraph():602 -> q
+    1:1:int getHighestBlockNumber():1145:1145 -> k
+    1:1:int getNextInstructionNumber():1058:1058 -> l
+    1:7:com.android.tools.r8.ir.code.Value getThis():1084:1090 -> m
+    1:3:java.util.Set getUnreachableBlocks():1296:1298 -> n
+    4:4:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1326:1326 -> n
+    4:4:java.util.Set getUnreachableBlocks():1298 -> n
+    5:10:java.util.Set getUnreachableBlocks():1299:1304 -> n
+    1:1:com.android.tools.r8.ir.code.InstructionIterator instructionIterator():1014:1014 -> o
+    1:1:java.lang.Iterable instructions():1002:1002 -> p
+    1:1:boolean isConsistentGraph():602:602 -> q
+    2:2:boolean noColorsInUse():1254:1254 -> q
+    2:2:boolean isConsistentGraph():602 -> q
+    3:5:boolean isConsistentGraph():602:604 -> q
+    6:7:boolean consistentCatchHandlers():779:780 -> q
+    6:7:boolean isConsistentGraph():605 -> q
+    8:8:boolean isConsistentGraph():606:606 -> q
+    9:12:boolean consistentBlockInstructions():798:801 -> q
+    9:12:boolean isConsistentGraph():606 -> q
     13:22:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean):65:74 -> q
-    13:22:boolean consistentBlockInstructions():795 -> q
-    13:22:boolean isConsistentGraph():602 -> q
+    13:22:boolean consistentBlockInstructions():799 -> q
+    13:22:boolean isConsistentGraph():606 -> q
     23:27:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean):73:77 -> q
-    23:27:boolean consistentBlockInstructions():795 -> q
-    23:27:boolean isConsistentGraph():602 -> q
-    28:28:boolean isConsistentGraph():603:603 -> q
-    29:121:boolean consistentMetadata():804:896 -> q
-    29:121:boolean isConsistentGraph():603 -> q
-    122:122:boolean isConsistentGraph():604:604 -> q
-    1:2:boolean isConsistentSSA():565:566 -> r
-    1:1:boolean isConsistentSSABeforeTypesAreCorrect():571:571 -> s
-    2:22:boolean consistentDefUseChains():660:680 -> s
-    2:22:boolean isConsistentSSABeforeTypesAreCorrect():572 -> s
-    23:23:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> s
-    23:23:boolean consistentDefUseChains():682 -> s
-    23:23:boolean isConsistentSSABeforeTypesAreCorrect():572 -> s
-    24:36:boolean consistentDefUseChains():682:694 -> s
-    24:36:boolean isConsistentSSABeforeTypesAreCorrect():572 -> s
-    37:37:boolean verifyValue(com.android.tools.r8.ir.code.Value):702:702 -> s
-    37:37:boolean consistentDefUseChains():694 -> s
-    37:37:boolean isConsistentSSABeforeTypesAreCorrect():572 -> s
-    38:38:boolean verifyPhi(com.android.tools.r8.ir.code.Phi):707:707 -> s
-    38:38:boolean verifyValue(com.android.tools.r8.ir.code.Value):702 -> s
-    38:38:boolean consistentDefUseChains():694 -> s
-    38:38:boolean isConsistentSSABeforeTypesAreCorrect():572 -> s
-    39:42:boolean verifyDefinition(com.android.tools.r8.ir.code.Value):712:715 -> s
-    39:42:boolean verifyValue(com.android.tools.r8.ir.code.Value):702 -> s
-    39:42:boolean consistentDefUseChains():694 -> s
-    39:42:boolean isConsistentSSABeforeTypesAreCorrect():572 -> s
-    43:43:boolean verifyDefinition(com.android.tools.r8.ir.code.Value):713:713 -> s
-    43:43:boolean verifyValue(com.android.tools.r8.ir.code.Value):702 -> s
-    43:43:boolean consistentDefUseChains():694 -> s
-    43:43:boolean isConsistentSSABeforeTypesAreCorrect():572 -> s
-    44:45:boolean consistentValueUses(com.android.tools.r8.ir.code.Value):720:721 -> s
-    44:45:boolean consistentDefUseChains():695 -> s
-    44:45:boolean isConsistentSSABeforeTypesAreCorrect():572 -> s
-    46:46:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> s
-    46:46:boolean consistentValueUses(com.android.tools.r8.ir.code.Value):721 -> s
-    46:46:boolean consistentDefUseChains():695 -> s
-    46:46:boolean isConsistentSSABeforeTypesAreCorrect():572 -> s
-    47:55:boolean consistentValueUses(com.android.tools.r8.ir.code.Value):721:729 -> s
-    47:55:boolean consistentDefUseChains():695 -> s
-    47:55:boolean isConsistentSSABeforeTypesAreCorrect():572 -> s
-    56:56:boolean isConsistentSSABeforeTypesAreCorrect():573:573 -> s
-    57:73:boolean validThrowingInstructions():904:920 -> s
-    57:73:boolean isConsistentSSABeforeTypesAreCorrect():573 -> s
-    74:74:boolean isConsistentSSABeforeTypesAreCorrect():574:574 -> s
-    75:86:boolean noCriticalEdges():631:642 -> s
-    75:86:boolean isConsistentSSABeforeTypesAreCorrect():574 -> s
-    87:88:boolean isConsistentSSABeforeTypesAreCorrect():574:575 -> s
-    1:1:com.android.tools.r8.ir.code.BasicBlockIterator listIterator():1028:1028 -> t
-    1:7:java.lang.String toString():463:469 -> toString
+    23:27:boolean consistentBlockInstructions():799 -> q
+    23:27:boolean isConsistentGraph():606 -> q
+    28:28:boolean isConsistentGraph():607:607 -> q
+    29:121:boolean consistentMetadata():808:900 -> q
+    29:121:boolean isConsistentGraph():607 -> q
+    122:122:boolean isConsistentGraph():608:608 -> q
+    1:2:boolean isConsistentSSA():569:570 -> r
+    1:1:boolean isConsistentSSABeforeTypesAreCorrect():575:575 -> s
+    2:22:boolean consistentDefUseChains():664:684 -> s
+    2:22:boolean isConsistentSSABeforeTypesAreCorrect():576 -> s
+    23:23:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> s
+    23:23:boolean consistentDefUseChains():686 -> s
+    23:23:boolean isConsistentSSABeforeTypesAreCorrect():576 -> s
+    24:36:boolean consistentDefUseChains():686:698 -> s
+    24:36:boolean isConsistentSSABeforeTypesAreCorrect():576 -> s
+    37:37:boolean verifyValue(com.android.tools.r8.ir.code.Value):706:706 -> s
+    37:37:boolean consistentDefUseChains():698 -> s
+    37:37:boolean isConsistentSSABeforeTypesAreCorrect():576 -> s
+    38:38:boolean verifyPhi(com.android.tools.r8.ir.code.Phi):711:711 -> s
+    38:38:boolean verifyValue(com.android.tools.r8.ir.code.Value):706 -> s
+    38:38:boolean consistentDefUseChains():698 -> s
+    38:38:boolean isConsistentSSABeforeTypesAreCorrect():576 -> s
+    39:42:boolean verifyDefinition(com.android.tools.r8.ir.code.Value):716:719 -> s
+    39:42:boolean verifyValue(com.android.tools.r8.ir.code.Value):706 -> s
+    39:42:boolean consistentDefUseChains():698 -> s
+    39:42:boolean isConsistentSSABeforeTypesAreCorrect():576 -> s
+    43:43:boolean verifyDefinition(com.android.tools.r8.ir.code.Value):717:717 -> s
+    43:43:boolean verifyValue(com.android.tools.r8.ir.code.Value):706 -> s
+    43:43:boolean consistentDefUseChains():698 -> s
+    43:43:boolean isConsistentSSABeforeTypesAreCorrect():576 -> s
+    44:45:boolean consistentValueUses(com.android.tools.r8.ir.code.Value):724:725 -> s
+    44:45:boolean consistentDefUseChains():699 -> s
+    44:45:boolean isConsistentSSABeforeTypesAreCorrect():576 -> s
+    46:46:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> s
+    46:46:boolean consistentValueUses(com.android.tools.r8.ir.code.Value):725 -> s
+    46:46:boolean consistentDefUseChains():699 -> s
+    46:46:boolean isConsistentSSABeforeTypesAreCorrect():576 -> s
+    47:55:boolean consistentValueUses(com.android.tools.r8.ir.code.Value):725:733 -> s
+    47:55:boolean consistentDefUseChains():699 -> s
+    47:55:boolean isConsistentSSABeforeTypesAreCorrect():576 -> s
+    56:56:boolean isConsistentSSABeforeTypesAreCorrect():577:577 -> s
+    57:73:boolean validThrowingInstructions():908:924 -> s
+    57:73:boolean isConsistentSSABeforeTypesAreCorrect():577 -> s
+    74:74:boolean isConsistentSSABeforeTypesAreCorrect():578:578 -> s
+    75:86:boolean noCriticalEdges():635:646 -> s
+    75:86:boolean isConsistentSSABeforeTypesAreCorrect():578 -> s
+    87:88:boolean isConsistentSSABeforeTypesAreCorrect():578:579 -> s
+    1:1:com.android.tools.r8.ir.code.BasicBlockIterator listIterator():1032:1032 -> t
+    1:7:java.lang.String toString():467:473 -> toString
     1:1:com.android.tools.r8.ir.code.IRMetadata metadata():146:146 -> u
     1:1:com.android.tools.r8.graph.DexEncodedMethod method():155:155 -> v
-    1:3:com.android.tools.r8.com.google.common.collect.ImmutableList numberInstructions():1036:1038 -> w
-    1:7:int numberRemainingInstructions():1044:1050 -> x
-    1:23:void prepareBlocksForCatchHandlers():321:343 -> y
+    1:3:com.android.tools.r8.com.google.common.collect.ImmutableList numberInstructions():1040:1042 -> w
+    1:7:int numberRemainingInstructions():1048:1054 -> x
+    1:23:void prepareBlocksForCatchHandlers():325:347 -> y
     24:24:java.lang.Object com.android.tools.r8.utils.ListUtils.first(java.util.List):16:16 -> y
-    24:24:void prepareBlocksForCatchHandlers():343 -> y
-    25:27:void prepareBlocksForCatchHandlers():343:345 -> y
+    24:24:void prepareBlocksForCatchHandlers():347 -> y
+    25:27:void prepareBlocksForCatchHandlers():347:349 -> y
     28:29:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> y
-    28:29:void prepareBlocksForCatchHandlers():345 -> y
-    30:36:void prepareBlocksForCatchHandlers():346:352 -> y
-    1:1:boolean removeAllDeadAndTrivialPhis():1179:1179 -> z
+    28:29:void prepareBlocksForCatchHandlers():349 -> y
+    30:36:void prepareBlocksForCatchHandlers():350:356 -> y
+    1:1:boolean removeAllDeadAndTrivialPhis():1183:1183 -> z
 com.android.tools.r8.ir.code.IRCode$BlockMarker -> com.android.tools.r8.s.b.X$a:
     com.android.tools.r8.ir.code.BasicBlock block -> a
     1:2:void <init>(com.android.tools.r8.ir.code.BasicBlock):99:100 -> <init>
 com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets -> com.android.tools.r8.s.b.X$b:
-    java.util.Deque liveStackValues -> c
-    java.util.Set liveValues -> a
-    java.util.Set liveLocalValues -> b
-    boolean $assertionsDisabled -> d
+    java.util.Deque liveStackValues -> d
+    java.util.Set liveLocalValues -> c
+    java.util.Set liveValues -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():62:62 -> <clinit>
     1:5:void <init>(java.util.Set,java.util.Set,java.util.Deque):72:76 -> <init>
     1:2:boolean equals(java.lang.Object):86:87 -> equals
     1:1:int hashCode():81:81 -> hashCode
 com.android.tools.r8.ir.code.IRCodeInstructionIterator -> com.android.tools.r8.s.b.Y:
-    java.util.ListIterator blockIterator -> a
-    com.android.tools.r8.ir.code.InstructionListIterator instructionIterator -> b
-    com.android.tools.r8.ir.code.IRCode code -> c
-    boolean $assertionsDisabled -> d
+    java.util.ListIterator blockIterator -> b
+    com.android.tools.r8.ir.code.IRCode code -> d
+    com.android.tools.r8.ir.code.InstructionListIterator instructionIterator -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():10:10 -> <clinit>
     1:4:void <init>(com.android.tools.r8.ir.code.IRCode):17:20 -> <init>
     1:1:boolean hasNext():25:25 -> hasNext
@@ -25904,40 +25930,42 @@
     1:10:com.android.tools.r8.ir.code.Instruction previous():48:57 -> previous
     11:11:com.android.tools.r8.ir.code.Instruction previous():52:52 -> previous
 com.android.tools.r8.ir.code.IRCodeInstructionListIterator -> com.android.tools.r8.s.b.Z:
-    java.util.ListIterator blockIterator -> a
-    com.android.tools.r8.ir.code.InstructionListIterator instructionIterator -> b
-    com.android.tools.r8.ir.code.IRCode code -> c
-    boolean $assertionsDisabled -> d
+    java.util.ListIterator blockIterator -> b
+    com.android.tools.r8.ir.code.IRCode code -> d
+    com.android.tools.r8.ir.code.InstructionListIterator instructionIterator -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():19:19 -> <clinit>
     1:4:void <init>(com.android.tools.r8.ir.code.IRCode):26:29 -> <init>
     1:1:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):35:35 -> a
     2:2:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):40:40 -> a
     3:3:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):51:51 -> a
     4:4:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):67:67 -> a
-    5:5:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):72:72 -> a
-    6:6:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):77:77 -> a
-    7:7:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):88:88 -> a
-    8:8:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):155:155 -> a
+    5:5:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):73:73 -> a
+    6:6:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):78:78 -> a
+    7:7:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):89:89 -> a
+    8:8:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):156:156 -> a
+    9:9:void setInsertionPosition(com.android.tools.r8.ir.code.Position):171:171 -> a
     1:1:void add(java.lang.Object):19:19 -> add
-    2:2:void add(com.android.tools.r8.ir.code.Instruction):140:140 -> add
+    2:2:void add(com.android.tools.r8.ir.code.Instruction):141:141 -> add
     2:2:void add(java.lang.Object):19 -> add
     1:1:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):45:45 -> b
-    1:1:void removeOrReplaceByDebugLocalRead():160:160 -> g
-    1:1:boolean hasNext():93:93 -> hasNext
-    1:1:boolean hasPrevious():111:111 -> hasPrevious
-    1:1:void removeInstructionIgnoreOutValue():57:57 -> j
-    1:9:com.android.tools.r8.ir.code.Instruction next():98:106 -> next
+    1:1:void unsetInsertionPosition():176:176 -> g
+    1:1:void removeOrReplaceByDebugLocalRead():161:161 -> h
+    1:1:boolean hasNext():94:94 -> hasNext
+    1:1:boolean hasPrevious():112:112 -> hasPrevious
+    1:1:void removeInstructionIgnoreOutValue():57:57 -> k
+    1:9:com.android.tools.r8.ir.code.Instruction next():99:107 -> next
     1:9:java.lang.Object next():19 -> next
-    10:10:com.android.tools.r8.ir.code.Instruction next():102:102 -> next
+    10:10:com.android.tools.r8.ir.code.Instruction next():103:103 -> next
     10:10:java.lang.Object next():19 -> next
-    1:1:int nextIndex():130:130 -> nextIndex
+    1:1:int nextIndex():131:131 -> nextIndex
     1:1:java.lang.Object previous():19:19 -> previous
-    2:11:com.android.tools.r8.ir.code.Instruction previous():116:125 -> previous
-    12:12:com.android.tools.r8.ir.code.Instruction previous():120:120 -> previous
-    1:1:int previousIndex():135:135 -> previousIndex
-    1:1:void remove():145:145 -> remove
+    2:11:com.android.tools.r8.ir.code.Instruction previous():117:126 -> previous
+    12:12:com.android.tools.r8.ir.code.Instruction previous():121:121 -> previous
+    1:1:int previousIndex():136:136 -> previousIndex
+    1:1:void remove():146:146 -> remove
     1:1:void set(java.lang.Object):19:19 -> set
-    2:2:void set(com.android.tools.r8.ir.code.Instruction):150:150 -> set
+    2:2:void set(com.android.tools.r8.ir.code.Instruction):151:151 -> set
     2:2:void set(java.lang.Object):19 -> set
 com.android.tools.r8.ir.code.IRCodeUtils -> com.android.tools.r8.s.b.a0:
     boolean $assertionsDisabled -> a
@@ -25946,15 +25974,15 @@
     8:18:java.util.Map findUniqueStaticPuts(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.Set):51:61 -> a
     19:45:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):76:102 -> a
     46:74:void internalRemoveInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,java.util.Deque):119:147 -> a
-    75:75:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():92:92 -> a
+    75:75:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():93:93 -> a
     75:75:void internalRemoveInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,java.util.Deque):148 -> a
     76:79:void internalRemoveInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,java.util.Deque):148:151 -> a
     1:1:void removeInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):114:114 -> b
     2:2:void removeInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):113:113 -> b
 com.android.tools.r8.ir.code.IRMetadata -> com.android.tools.r8.s.b.b0:
-    long second -> b
-    long first -> a
-    boolean $assertionsDisabled -> c
+    long first -> b
+    long second -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():7:7 -> <clinit>
     1:1:void <init>():12:12 -> <init>
     2:4:void <init>(long,long):14:16 -> <init>
@@ -26072,9 +26100,9 @@
     1:1:boolean mayHaveInvokeVirtual():206:206 -> y
     1:1:boolean mayHaveMonitorInstruction():210:210 -> z
 com.android.tools.r8.ir.code.If -> com.android.tools.r8.s.b.c0:
-    boolean $assertionsDisabled -> j
-    int $r8$clinit -> k
-    com.android.tools.r8.ir.code.If$Type type -> i
+    boolean $assertionsDisabled -> i
+    int $r8$clinit -> j
+    com.android.tools.r8.ir.code.If$Type type -> k
     1:1:void <clinit>():20:20 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.Value):73:74 -> <init>
     3:4:void <init>(com.android.tools.r8.ir.code.If$Type,java.util.List):78:79 -> <init>
@@ -26135,8 +26163,8 @@
     void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver) -> a
     com.android.tools.r8.ir.code.MemberType getMemberType() -> e
 com.android.tools.r8.ir.code.Inc -> com.android.tools.r8.s.b.e0:
-    boolean $assertionsDisabled -> i
-    int increment -> h
+    int increment -> i
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():20:20 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,int):25:27 -> <init>
     int maxInValueRegister() -> G2
@@ -26151,8 +26179,8 @@
     3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54:54 -> b
     1:1:java.lang.String toString():102:102 -> toString
 com.android.tools.r8.ir.code.InitClass -> com.android.tools.r8.s.b.f0:
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.graph.DexType clazz -> h
+    com.android.tools.r8.graph.DexType clazz -> i
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():27:27 -> <clinit>
     1:5:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:36 -> <init>
     boolean isInitClass() -> G1
@@ -26174,7 +26202,7 @@
     10:10:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):162:162 -> a
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):92:92 -> b
     2:2:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):97:97 -> b
-    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     3:3:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):97 -> b
     4:4:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):20:20 -> b
     4:4:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):103 -> b
@@ -26192,7 +26220,7 @@
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField):38:38 -> <init>
-    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():220:220 -> G0
+    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():210:210 -> G0
     int maxInValueRegister() -> G2
     boolean isInstanceFieldInstruction() -> H1
     int maxOutValueRegister() -> H2
@@ -26217,20 +26245,17 @@
     40:64:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):87:111 -> a
     65:67:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):73:75 -> a
     68:68:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):122:122 -> a
-    69:69:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):132:132 -> a
-    70:70:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    70:70:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):132 -> a
-    71:71:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):157:157 -> a
-    72:72:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):187:187 -> a
-    73:73:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):192:192 -> a
-    74:75:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):197:198 -> a
-    76:79:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):203:203 -> a
-    80:80:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):210:210 -> a
-    81:81:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):230:230 -> a
-    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):147:151 -> b
+    69:69:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):147:147 -> a
+    70:70:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):177:177 -> a
+    71:71:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):182:182 -> a
+    72:73:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):187:188 -> a
+    74:77:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):193:193 -> a
+    78:78:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):200:200 -> a
+    79:79:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):220:220 -> a
+    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):137:141 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     1:2:com.android.tools.r8.ir.code.Value object():62:63 -> f
-    1:1:java.lang.String toString():182:182 -> toString
+    1:1:java.lang.String toString():172:172 -> toString
 com.android.tools.r8.ir.code.InstanceOf -> com.android.tools.r8.s.b.i0:
     com.android.tools.r8.graph.DexType type -> h
     1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):25:26 -> <init>
@@ -26259,10 +26284,10 @@
     1:1:void <clinit>():34:34 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):37:37 -> <init>
     2:5:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,boolean):49:52 -> <init>
-    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():253:253 -> G0
+    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():239:239 -> G0
     int maxInValueRegister() -> G2
     boolean isInstanceFieldInstruction() -> H1
-    1:1:int maxOutValueRegister():194:194 -> H2
+    1:1:int maxOutValueRegister():180:180 -> H2
     int opcode() -> I2
     com.android.tools.r8.ir.code.InstanceFieldInstruction asInstanceFieldInstruction() -> J
     boolean isInstancePut() -> K1
@@ -26284,66 +26309,62 @@
     74:74:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexEncodedField.type():46:46 -> a
     74:74:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):132 -> a
     75:80:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):132:137 -> a
-    81:81:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):152:152 -> a
-    82:82:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    82:82:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):152 -> a
-    83:83:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):153:153 -> a
-    84:94:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):160:170 -> a
-    95:95:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):201:201 -> a
-    96:96:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):231:231 -> a
-    97:100:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):236:236 -> a
-    101:101:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):243:243 -> a
-    102:102:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):263:263 -> a
-    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):180:184 -> b
+    81:91:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):146:156 -> a
+    92:92:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):187:187 -> a
+    93:93:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):217:217 -> a
+    94:97:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):222:222 -> a
+    98:98:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):229:229 -> a
+    99:99:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):249:249 -> a
+    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):166:170 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     1:1:com.android.tools.r8.ir.code.Value object():68:68 -> f
-    1:1:java.lang.String toString():226:226 -> toString
-com.android.tools.r8.ir.code.Instruction -> com.android.tools.r8.s.b.k0:
-    java.util.List inValues -> b
-    java.util.LinkedHashSet debugValues -> e
-    boolean $assertionsDisabled -> g
-    int number -> d
-    com.android.tools.r8.ir.code.Value outValue -> a
-    com.android.tools.r8.ir.code.BasicBlock block -> c
-    com.android.tools.r8.ir.code.Position position -> f
-    1:1:void <clinit>():42:42 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.code.Value):51:51 -> <init>
-    2:10:void <init>(com.android.tools.r8.ir.code.Value):44:52 -> <init>
-    11:11:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):55:55 -> <init>
-    12:25:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):44:57 -> <init>
-    26:26:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):60:60 -> <init>
-    27:49:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):44:66 -> <init>
+    1:1:java.lang.String toString():212:212 -> toString
+com.android.tools.r8.ir.code.Instruction -> com.android.tools.r8.s.b.o0:
+    com.android.tools.r8.ir.code.Position position -> g
+    java.util.List inValues -> c
+    java.util.Set debugValues -> f
+    com.android.tools.r8.ir.code.Value outValue -> b
+    int number -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock block -> d
+    1:1:void <clinit>():43:43 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.code.Value):52:52 -> <init>
+    2:10:void <init>(com.android.tools.r8.ir.code.Value):45:53 -> <init>
+    11:11:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):56:56 -> <init>
+    12:25:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):45:58 -> <init>
+    26:26:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):61:61 -> <init>
+    27:49:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):45:67 -> <init>
     com.android.tools.r8.ir.code.DebugLocalsChange asDebugLocalsChange() -> A
     com.android.tools.r8.ir.code.Xor asXor() -> A0
     boolean isDup2() -> A1
     boolean isSwap() -> A2
     com.android.tools.r8.ir.code.DebugPosition asDebugPosition() -> B
-    1:2:void clearBlock():287:288 -> B0
-    1:1:boolean isFieldGet():913:913 -> B1
+    1:2:void clearBlock():282:283 -> B0
+    1:1:boolean isFieldGet():908:908 -> B1
     boolean isSwitch() -> B2
     com.android.tools.r8.ir.code.DexItemBasedConstString asDexItemBasedConstString() -> C
-    1:5:void clearDebugValues():258:262 -> C0
+    1:5:void clearDebugValues():253:257 -> C0
     boolean isFieldInstruction() -> C1
     boolean isThrow() -> C2
     com.android.tools.r8.ir.code.Div asDiv() -> D
-    1:7:boolean definesValueWithNonLocalUsages():544:550 -> D0
-    1:7:boolean definesBlockLocalValue():540 -> D0
-    1:1:boolean isFieldPut():917:917 -> D1
+    1:7:boolean definesValueWithNonLocalUsages():539:545 -> D0
+    1:7:boolean definesBlockLocalValue():535 -> D0
+    1:1:boolean isFieldPut():912:912 -> D1
     boolean isUnop() -> D2
     com.android.tools.r8.ir.code.Dup asDup() -> E
-    1:1:java.util.Set getDebugValues():651:651 -> E0
+    1:1:java.util.Set getDebugValues():646:646 -> E0
     boolean isGoto() -> E1
     boolean isUshr() -> E2
     com.android.tools.r8.ir.code.FieldInstruction asFieldInstruction() -> F
-    1:1:java.lang.String getInstructionName():307:307 -> F0
+    1:1:java.lang.String getInstructionName():302:302 -> F0
     boolean isIf() -> F1
     boolean isXor() -> F2
     com.android.tools.r8.ir.code.Goto asGoto() -> G
-    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():1435:1435 -> G0
+    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():1430:1430 -> G0
     boolean isInitClass() -> G1
     int maxInValueRegister() -> G2
     com.android.tools.r8.ir.code.If asIf() -> H
-    1:1:int getNumber():356:356 -> H0
+    1:1:int getNumber():351:351 -> H0
     boolean isInstanceFieldInstruction() -> H1
     int maxOutValueRegister() -> H2
     com.android.tools.r8.ir.code.InitClass asInitClass() -> I
@@ -26351,37 +26372,37 @@
     boolean isInstanceGet() -> I1
     int opcode() -> I2
     com.android.tools.r8.ir.code.InstanceFieldInstruction asInstanceFieldInstruction() -> J
-    1:2:com.android.tools.r8.ir.code.Position getPosition():78:79 -> J0
+    1:2:com.android.tools.r8.ir.code.Position getPosition():79:80 -> J0
     boolean isInstanceOf() -> J1
-    1:1:com.android.tools.r8.ir.code.ValueType outType():176:176 -> J2
+    1:1:com.android.tools.r8.ir.code.ValueType outType():175:175 -> J2
     com.android.tools.r8.ir.code.InstanceGet asInstanceGet() -> K
-    1:1:java.lang.String getPositionAsString():88:88 -> K0
+    1:1:java.lang.String getPositionAsString():89:89 -> K0
     boolean isInstancePut() -> K1
-    1:1:com.android.tools.r8.ir.code.Value outValue():119:119 -> K2
+    1:1:com.android.tools.r8.ir.code.Value outValue():120:120 -> K2
     com.android.tools.r8.ir.code.InstanceOf asInstanceOf() -> L
-    1:1:boolean hasBlock():303:303 -> L0
+    1:1:boolean hasBlock():298:298 -> L0
     boolean isIntSwitch() -> L1
     boolean throwsOnNullInput() -> L2
     com.android.tools.r8.ir.code.InstancePut asInstancePut() -> M
-    1:1:java.util.List inValues():92:92 -> M0
-    1:1:boolean hasInValueWithLocalInfo():106 -> M0
-    2:3:boolean hasInValueWithLocalInfo():106:107 -> M0
+    1:1:java.util.List inValues():93:93 -> M0
+    1:1:boolean hasInValueWithLocalInfo():107 -> M0
+    2:3:boolean hasInValueWithLocalInfo():107:108 -> M0
     boolean isInvoke() -> M1
     com.android.tools.r8.ir.code.IntSwitch asIntSwitch() -> N
     boolean hasInvariantOutType() -> N0
     boolean isInvokeCustom() -> N1
     com.android.tools.r8.ir.code.Invoke asInvoke() -> O
-    1:1:boolean hasOutValue():115:115 -> O0
+    1:1:boolean hasOutValue():116:116 -> O0
     boolean isInvokeDirect() -> O1
     com.android.tools.r8.ir.code.InvokeCustom asInvokeCustom() -> P
-    1:1:boolean hasPosition():74:74 -> P0
+    1:1:boolean hasPosition():75:75 -> P0
     boolean isInvokeInterface() -> P1
     com.android.tools.r8.ir.code.InvokeDirect asInvokeDirect() -> Q
-    1:1:java.util.List inValues():92:92 -> Q0
+    1:1:java.util.List inValues():93:93 -> Q0
     boolean isInvokeMethod() -> Q1
     com.android.tools.r8.ir.code.InvokeInterface asInvokeInterface() -> R
-    1:1:boolean instructionInstanceCanThrow():570:570 -> R0
-    1:1:boolean isInvokeMethodWithDynamicDispatch():1193:1193 -> R1
+    1:1:boolean instructionInstanceCanThrow():565:565 -> R0
+    1:1:boolean isInvokeMethodWithDynamicDispatch():1188:1188 -> R1
     com.android.tools.r8.ir.code.InvokeMethod asInvokeMethod() -> S
     boolean instructionTypeCanBeCanonicalized() -> S0
     boolean isInvokeMethodWithReceiver() -> S1
@@ -26416,89 +26437,89 @@
     boolean isTwoAddr(com.android.tools.r8.ir.regalloc.RegisterAllocator) -> a
     boolean outTypeKnownToBeBoolean(java.util.Set) -> a
     boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
-    1:2:void setPosition(com.android.tools.r8.ir.code.Position):83:84 -> a
-    3:4:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):142:143 -> a
-    5:10:void addDebugValue(com.android.tools.r8.ir.code.Value):155:160 -> a
-    11:17:void clearUserInfo(com.android.tools.r8.ir.code.Instruction):165:171 -> a
-    18:21:void replaceValue(int,com.android.tools.r8.ir.code.Value):193:196 -> a
-    22:31:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):200:209 -> a
-    32:38:com.android.tools.r8.ir.code.Value removeDebugValue(com.android.tools.r8.graph.DebugLocalInfo):243:249 -> a
-    39:40:void setBlock(com.android.tools.r8.ir.code.BasicBlock):279:280 -> a
-    41:41:void print(com.android.tools.r8.utils.CfgPrinter):331:331 -> a
-    42:62:java.lang.String com.android.tools.r8.utils.CfgPrinter.makeUnusedValue():0:20 -> a
-    42:62:void print(com.android.tools.r8.utils.CfgPrinter):332 -> a
-    63:74:void print(com.android.tools.r8.utils.CfgPrinter):334:345 -> a
-    75:76:void setNumber(int):360:361 -> a
-    77:86:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):466:475 -> a
-    87:88:boolean identicalNonValueParts(com.android.tools.r8.ir.code.Instruction):374:375 -> a
-    87:88:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):472 -> a
-    89:89:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):478:478 -> a
-    90:93:boolean com.android.tools.r8.ir.code.InvokeDirect.sameConstructorReceiverValue(com.android.tools.r8.ir.code.Invoke):101:104 -> a
-    90:93:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):478 -> a
-    94:95:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):481:482 -> a
-    96:97:int getNumber():356:356 -> a
-    96:97:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):486 -> a
-    98:130:boolean identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):430:462 -> a
-    98:130:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):485 -> a
-    131:140:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):489:498 -> a
-    141:142:int getNumber():356:356 -> a
-    141:142:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):499 -> a
-    143:178:boolean identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):385:420 -> a
-    143:178:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):499 -> a
-    179:195:boolean identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):409:425 -> a
-    179:195:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):499 -> a
-    196:197:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):505:506 -> a
-    198:198:boolean identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):513:513 -> a
-    199:200:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():881:881 -> a
-    199:200:boolean identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):513 -> a
-    201:207:boolean identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):517:523 -> a
-    208:208:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):579:579 -> a
-    209:209:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):597:597 -> a
-    210:211:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):1370:1371 -> a
-    212:215:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):1377:1380 -> a
-    216:218:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1385:1387 -> a
-    219:225:boolean verifyValidPositionInfo(boolean):1455:1461 -> a
-    226:226:boolean verifyValidPositionInfo(boolean):1457:1457 -> a
+    1:2:void setPosition(com.android.tools.r8.ir.code.Position):84:85 -> a
+    3:4:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):143:144 -> a
+    5:9:void addDebugValue(com.android.tools.r8.ir.code.Value):156:160 -> a
+    10:16:void clearUserInfo(com.android.tools.r8.ir.code.Instruction):164:170 -> a
+    17:20:void replaceValue(int,com.android.tools.r8.ir.code.Value):192:195 -> a
+    21:33:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):199:211 -> a
+    34:40:com.android.tools.r8.ir.code.Value removeDebugValue(com.android.tools.r8.graph.DebugLocalInfo):238:244 -> a
+    41:42:void setBlock(com.android.tools.r8.ir.code.BasicBlock):274:275 -> a
+    43:43:void print(com.android.tools.r8.utils.CfgPrinter):326:326 -> a
+    44:64:java.lang.String com.android.tools.r8.utils.CfgPrinter.makeUnusedValue():0:20 -> a
+    44:64:void print(com.android.tools.r8.utils.CfgPrinter):327 -> a
+    65:76:void print(com.android.tools.r8.utils.CfgPrinter):329:340 -> a
+    77:78:void setNumber(int):355:356 -> a
+    79:88:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):461:470 -> a
+    89:90:boolean identicalNonValueParts(com.android.tools.r8.ir.code.Instruction):369:370 -> a
+    89:90:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):467 -> a
+    91:91:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):473:473 -> a
+    92:95:boolean com.android.tools.r8.ir.code.InvokeDirect.sameConstructorReceiverValue(com.android.tools.r8.ir.code.Invoke):100:103 -> a
+    92:95:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):473 -> a
+    96:97:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):476:477 -> a
+    98:99:int getNumber():351:351 -> a
+    98:99:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):481 -> a
+    100:132:boolean identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):425:457 -> a
+    100:132:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):480 -> a
+    133:142:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):484:493 -> a
+    143:144:int getNumber():351:351 -> a
+    143:144:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):494 -> a
+    145:180:boolean identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):380:415 -> a
+    145:180:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):494 -> a
+    181:197:boolean identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):404:420 -> a
+    181:197:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):494 -> a
+    198:199:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):500:501 -> a
+    200:200:boolean identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):508:508 -> a
+    201:202:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():769:769 -> a
+    201:202:boolean identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):508 -> a
+    203:209:boolean identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):512:518 -> a
+    210:210:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):574:574 -> a
+    211:213:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):590:592 -> a
+    214:215:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):1365:1366 -> a
+    216:219:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):1372:1375 -> a
+    220:222:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1380:1382 -> a
+    223:229:boolean verifyValidPositionInfo(boolean):1450:1456 -> a
+    230:230:boolean verifyValidPositionInfo(boolean):1452:1452 -> a
     com.android.tools.r8.ir.code.JumpInstruction asJumpInstruction() -> a0
     boolean isArrayGet() -> a1
     boolean isLoad() -> a2
     boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction) -> b
-    1:4:void addInValue(com.android.tools.r8.ir.code.Value):97:100 -> b
-    5:8:void replaceValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):184:187 -> b
-    9:9:void printLIR(com.android.tools.r8.utils.CfgPrinter):352:352 -> b
-    10:10:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):590:590 -> b
-    11:11:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():647:647 -> b
-    12:23:boolean verifyTypes(com.android.tools.r8.graph.AppView):1392:1403 -> b
+    1:4:void addInValue(com.android.tools.r8.ir.code.Value):98:101 -> b
+    5:8:void replaceValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):183:186 -> b
+    9:9:void printLIR(com.android.tools.r8.utils.CfgPrinter):347:347 -> b
+    10:10:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):585:585 -> b
+    11:11:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():642:642 -> b
+    12:23:boolean verifyTypes(com.android.tools.r8.graph.AppView):1387:1398 -> b
     com.android.tools.r8.ir.code.Load asLoad() -> b0
     boolean isArrayLength() -> b1
     boolean isLogicalBinop() -> b2
     com.android.tools.r8.ir.code.Instruction asInstruction() -> c
     boolean needsValueInRegister(com.android.tools.r8.ir.code.Value) -> c
-    1:7:void moveDebugValues(com.android.tools.r8.ir.code.Instruction):215:221 -> c
-    8:8:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> c
+    1:7:void moveDebugValues(com.android.tools.r8.ir.code.Instruction):216:222 -> c
+    8:8:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):569:569 -> c
     com.android.tools.r8.ir.code.LogicalBinop asLogicalBinop() -> c0
     boolean isArrayPut() -> c1
     boolean isMonitor() -> c2
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
-    1:2:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():148:149 -> d
-    3:11:void removeDebugValue(com.android.tools.r8.ir.code.Value):231:239 -> d
+    1:2:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():149:150 -> d
+    3:11:void removeDebugValue(com.android.tools.r8.ir.code.Value):226:234 -> d
     com.android.tools.r8.ir.code.Monitor asMonitor() -> d0
     boolean isAssume() -> d1
     boolean isMonitorEnter() -> d2
-    1:4:void setOutValue(com.android.tools.r8.ir.code.Value):123:126 -> e
-    5:5:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):536:536 -> e
+    1:4:void setOutValue(com.android.tools.r8.ir.code.Value):124:127 -> e
+    5:5:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):531:531 -> e
     com.android.tools.r8.ir.code.Move asMove() -> e0
-    boolean isAssumeDynamicType() -> e1
+    1:1:boolean isAssumeWithDynamicTypeAssumption():716:716 -> e1
     boolean isMove() -> e2
-    1:5:com.android.tools.r8.ir.code.Value swapOutValue(com.android.tools.r8.ir.code.Value):131:135 -> f
-    6:10:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):605:609 -> f
+    1:5:com.android.tools.r8.ir.code.Value swapOutValue(com.android.tools.r8.ir.code.Value):132:136 -> f
+    6:10:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):600:604 -> f
     com.android.tools.r8.ir.code.MoveException asMoveException() -> f0
-    boolean isAssumeNonNull() -> f1
+    1:1:boolean isAssumeWithNonNullAssumption():720:720 -> f1
     boolean isMoveException() -> f2
     com.android.tools.r8.ir.code.Mul asMul() -> g0
     boolean isBinop() -> g1
     boolean isMul() -> g2
-    1:2:com.android.tools.r8.ir.code.BasicBlock getBlock():271:272 -> h
+    1:2:com.android.tools.r8.ir.code.BasicBlock getBlock():266:267 -> h
     com.android.tools.r8.ir.code.Neg asNeg() -> h0
     boolean isCheckCast() -> h1
     boolean isNeg() -> h2
@@ -26532,15 +26553,15 @@
     boolean isOutConstant() -> o2
     com.android.tools.r8.ir.code.ArrayPut asArrayPut() -> p
     com.android.tools.r8.ir.code.Return asReturn() -> p0
-    1:4:boolean isCreatingArray():1349:1352 -> p1
+    1:4:boolean isCreatingArray():1344:1347 -> p1
     boolean isPop() -> p2
     com.android.tools.r8.ir.code.Assume asAssume() -> q
     com.android.tools.r8.ir.code.Shl asShl() -> q0
-    1:1:boolean isCreatingInstanceOrArray():1356:1356 -> q1
+    1:1:boolean isCreatingInstanceOrArray():1351:1351 -> q1
     boolean isRem() -> q2
     com.android.tools.r8.ir.code.Binop asBinop() -> r
     com.android.tools.r8.ir.code.Shr asShr() -> r0
-    1:5:boolean isDebugInstruction():1153:1157 -> r1
+    1:5:boolean isDebugInstruction():1148:1152 -> r1
     boolean isReturn() -> r2
     com.android.tools.r8.ir.code.CheckCast asCheckCast() -> s
     com.android.tools.r8.ir.code.StaticGet asStaticGet() -> s0
@@ -26550,7 +26571,7 @@
     com.android.tools.r8.ir.code.StaticPut asStaticPut() -> t0
     boolean isDebugLocalUninitialized() -> t1
     boolean isShr() -> t2
-    1:14:java.lang.String toString():312:325 -> toString
+    1:14:java.lang.String toString():307:320 -> toString
     com.android.tools.r8.ir.code.ConstClass asConstClass() -> u
     com.android.tools.r8.ir.code.Store asStore() -> u0
     boolean isDebugLocalWrite() -> u1
@@ -26575,17 +26596,38 @@
     com.android.tools.r8.ir.code.Ushr asUshr() -> z0
     boolean isDup() -> z1
     boolean isSub() -> z2
-com.android.tools.r8.ir.code.Instruction$SideEffectAssumption -> com.android.tools.r8.s.b.k0$a:
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption -> com.android.tools.r8.s.b.o0$a:
     com.android.tools.r8.ir.code.Instruction$SideEffectAssumption NONE -> a
     com.android.tools.r8.ir.code.Instruction$SideEffectAssumption CLASS_ALREADY_INITIALIZED -> b
-    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption RECEIVER_NOT_NULL -> c
-    1:3:void <clinit>():1470:1472 -> <clinit>
-    1:1:void <init>(java.lang.String,int):1469:1469 -> <init>
-com.android.tools.r8.ir.code.InstructionIterator -> com.android.tools.r8.s.b.l0:
+    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption INVOKED_METHOD_DOES_NOT_HAVE_SIDE_EFFECTS -> c
+    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption RECEIVER_NOT_NULL -> d
+    1:21:void <clinit>():1466:1486 -> <clinit>
+    1:1:void <init>():1464:1464 -> <init>
+    boolean canAssumeClassIsAlreadyInitialized() -> a
+    1:1:com.android.tools.r8.ir.code.Instruction$SideEffectAssumption join(com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):1508:1508 -> a
+    boolean canAssumeInvokedMethodDoesNotHaveSideEffects() -> b
+    boolean canAssumeReceiverIsNotNull() -> c
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$1 -> com.android.tools.r8.s.b.k0:
+    1:1:void <init>():1469:1469 -> <init>
+    boolean canAssumeClassIsAlreadyInitialized() -> a
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$2 -> com.android.tools.r8.s.b.l0:
+    1:1:void <init>():1478:1478 -> <init>
+    boolean canAssumeInvokedMethodDoesNotHaveSideEffects() -> b
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$3 -> com.android.tools.r8.s.b.m0:
+    1:1:void <init>():1487:1487 -> <init>
+    boolean canAssumeReceiverIsNotNull() -> c
+com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$4 -> com.android.tools.r8.s.b.n0:
+    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption val$other -> e
+    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption this$0 -> f
+    1:1:void <init>(com.android.tools.r8.ir.code.Instruction$SideEffectAssumption,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):1508:1508 -> <init>
+    1:2:boolean canAssumeClassIsAlreadyInitialized():1512:1513 -> a
+    1:2:boolean canAssumeInvokedMethodDoesNotHaveSideEffects():1518:1519 -> b
+    1:2:boolean canAssumeReceiverIsNotNull():1524:1525 -> c
+com.android.tools.r8.ir.code.InstructionIterator -> com.android.tools.r8.s.b.p0:
     1:3:com.android.tools.r8.ir.code.Instruction peekNext():30:32 -> d
-    1:3:com.android.tools.r8.ir.code.Instruction peekPrevious():45:47 -> h
+    1:3:com.android.tools.r8.ir.code.Instruction peekPrevious():45:47 -> i
     1:1:void remove():15:15 -> remove
-com.android.tools.r8.ir.code.InstructionListIterator -> com.android.tools.r8.s.b.m0:
+com.android.tools.r8.ir.code.InstructionListIterator -> com.android.tools.r8.s.b.q0:
     com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType) -> a
     com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement) -> a
     com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString) -> a
@@ -26594,26 +26636,28 @@
     void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set) -> a
     void setInsertionPosition(com.android.tools.r8.ir.code.Position) -> a
     com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator) -> a
-    com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator) -> a
+    com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean) -> a
     1:1:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    2:2:com.android.tools.r8.ir.code.Value insertConstNullInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):66:66 -> a
-    3:3:com.android.tools.r8.ir.code.Value insertConstIntInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,int):70:70 -> a
-    4:4:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode):123:123 -> a
-    5:5:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int):150:150 -> a
-    6:8:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode):198:200 -> a
+    2:2:com.android.tools.r8.ir.code.Value insertConstNullInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):74:74 -> a
+    3:3:com.android.tools.r8.ir.code.Value insertConstIntInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,int):78:78 -> a
+    4:4:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):132:132 -> a
+    5:5:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode):136:136 -> a
+    6:6:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int):163:163 -> a
+    7:9:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode):211:213 -> a
     void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int) -> b
     1:3:java.lang.Object com.android.tools.r8.ir.code.PreviousUntilIterator.previousUntil(java.util.function.Predicate):18:20 -> b
     1:3:java.lang.Object com.android.tools.r8.ir.code.PreviousUntilIterator.previousUntil(java.util.function.Predicate):0 -> b
-    void removeOrReplaceByDebugLocalRead() -> g
-    1:1:void removeInstructionIgnoreOutValue():52:52 -> j
-com.android.tools.r8.ir.code.InstructionOrPhi -> com.android.tools.r8.s.b.n0:
+    void unsetInsertionPosition() -> g
+    void removeOrReplaceByDebugLocalRead() -> h
+    1:1:void removeInstructionIgnoreOutValue():52:52 -> k
+com.android.tools.r8.ir.code.InstructionOrPhi -> com.android.tools.r8.s.b.r0:
     boolean isPhi() -> a
     com.android.tools.r8.ir.code.Instruction asInstruction() -> c
     com.android.tools.r8.ir.code.Phi asPhi() -> g
     com.android.tools.r8.ir.code.BasicBlock getBlock() -> h
-com.android.tools.r8.ir.code.IntSwitch -> com.android.tools.r8.s.b.o0:
-    boolean $assertionsDisabled -> m
-    int[] keys -> l
+com.android.tools.r8.ir.code.IntSwitch -> com.android.tools.r8.s.b.s0:
+    boolean $assertionsDisabled -> l
+    int[] keys -> m
     1:1:void <clinit>():28:28 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.code.Value,int[],int[],int):33:35 -> <init>
     int maxInValueRegister() -> G2
@@ -26634,7 +26678,7 @@
     3:3:void forEachCase(com.android.tools.r8.utils.IntObjConsumer):50 -> a
     4:4:void forEachCase(com.android.tools.r8.utils.IntObjConsumer):50:50 -> a
     5:5:com.android.tools.r8.ir.code.Instruction materializeFirstKey(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56:56 -> a
-    6:6:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
+    6:6:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1119:1119 -> a
     6:6:com.android.tools.r8.ir.code.Instruction materializeFirstKey(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56 -> a
     7:7:long numberOfTargetsIfPacked(int[]):74:74 -> a
     8:8:boolean canBePacked(com.android.tools.r8.utils.InternalOutputMode,long):85:85 -> a
@@ -26680,7 +26724,7 @@
     5:5:int getKey(int):212:212 -> toString
     5:5:java.lang.String toString():274 -> toString
     6:11:java.lang.String toString():274:279 -> toString
-com.android.tools.r8.ir.code.Invoke -> com.android.tools.r8.s.b.p0:
+com.android.tools.r8.ir.code.Invoke -> com.android.tools.r8.s.b.t0:
     boolean $assertionsDisabled -> h
     1:1:void <clinit>():24:24 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):61:61 -> <init>
@@ -26708,7 +26752,7 @@
     com.android.tools.r8.ir.code.Invoke$Type getType() -> P2
     java.lang.String getTypeString() -> Q2
     1:1:int requiredArgumentRegisters():113:113 -> R2
-    2:2:int com.android.tools.r8.ir.code.Value.requiredRegisters():312:312 -> R2
+    2:2:int com.android.tools.r8.ir.code.Value.requiredRegisters():259:259 -> R2
     2:2:int requiredArgumentRegisters():114 -> R2
     boolean instructionTypeCanThrow() -> T0
     1:21:com.android.tools.r8.ir.code.Invoke create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List,boolean):72:92 -> a
@@ -26731,13 +26775,13 @@
     44:44:java.util.List arguments():104:104 -> a
     44:44:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):135 -> a
     45:54:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):135:144 -> a
-    55:55:int com.android.tools.r8.ir.code.Value.requiredRegisters():312:312 -> a
+    55:55:int com.android.tools.r8.ir.code.Value.requiredRegisters():259:259 -> a
     55:55:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):145 -> a
     56:58:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):146:148 -> a
-    59:59:int com.android.tools.r8.ir.code.Value.requiredRegisters():312:312 -> a
+    59:59:int com.android.tools.r8.ir.code.Value.requiredRegisters():259:259 -> a
     59:59:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):148 -> a
     60:60:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):148:148 -> a
-    61:61:int com.android.tools.r8.ir.code.Value.requiredRegisters():312:312 -> a
+    61:61:int com.android.tools.r8.ir.code.Value.requiredRegisters():259:259 -> a
     61:61:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):149 -> a
     62:63:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):150:151 -> a
     64:77:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):170:183 -> a
@@ -26750,7 +26794,7 @@
     1:1:java.util.List arguments():104:104 -> b
     1:1:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):158 -> b
     2:3:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):158:159 -> b
-    4:4:int com.android.tools.r8.ir.code.Value.requiredRegisters():312:312 -> b
+    4:4:int com.android.tools.r8.ir.code.Value.requiredRegisters():259:259 -> b
     4:4:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):159 -> b
     5:5:java.util.List arguments():104:104 -> b
     5:5:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):160 -> b
@@ -26758,7 +26802,7 @@
     7:7:java.util.List arguments():104:104 -> b
     7:7:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):161 -> b
     8:9:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):161:162 -> b
-    10:10:int com.android.tools.r8.ir.code.Value.requiredRegisters():312:312 -> b
+    10:10:int com.android.tools.r8.ir.code.Value.requiredRegisters():259:259 -> b
     10:10:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):163 -> b
     11:11:java.util.List arguments():104:104 -> b
     11:11:com.android.tools.r8.ir.code.Value getArgument(int):108 -> b
@@ -26770,7 +26814,7 @@
     11:11:java.util.List arguments():104:104 -> c
     11:11:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):263 -> c
     12:13:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):263:264 -> c
-com.android.tools.r8.ir.code.Invoke$Type -> com.android.tools.r8.s.b.p0$a:
+com.android.tools.r8.ir.code.Invoke$Type -> com.android.tools.r8.s.b.t0$a:
     com.android.tools.r8.ir.code.Invoke$Type NEW_ARRAY -> f
     com.android.tools.r8.ir.code.Invoke$Type MULTI_NEW_ARRAY -> g
     com.android.tools.r8.ir.code.Invoke$Type[] $VALUES -> j
@@ -26790,9 +26834,9 @@
     20:23:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType toMethodHandle(com.android.tools.r8.graph.DexMethod):44:47 -> a
     24:24:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType toMethodHandle(com.android.tools.r8.graph.DexMethod):42:42 -> a
     25:25:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType toMethodHandle(com.android.tools.r8.graph.DexMethod):40:40 -> a
-com.android.tools.r8.ir.code.InvokeCustom -> com.android.tools.r8.s.b.q0:
-    com.android.tools.r8.graph.DexCallSite callSite -> i
-    boolean $assertionsDisabled -> j
+com.android.tools.r8.ir.code.InvokeCustom -> com.android.tools.r8.s.b.u0:
+    com.android.tools.r8.graph.DexCallSite callSite -> j
+    boolean $assertionsDisabled -> i
     1:1:void <clinit>():26:26 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.ir.code.Value,java.util.List):31:33 -> <init>
     int opcode() -> I2
@@ -26834,36 +26878,35 @@
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):154:154 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     1:1:java.lang.String toString():120:120 -> toString
-com.android.tools.r8.ir.code.InvokeDirect -> com.android.tools.r8.s.b.r0:
-    boolean $assertionsDisabled -> m
-    boolean isInterface -> l
-    1:1:void <clinit>():30:30 -> <clinit>
-    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):39:42 -> <init>
+com.android.tools.r8.ir.code.InvokeDirect -> com.android.tools.r8.s.b.v0:
+    boolean isInterface -> m
+    boolean $assertionsDisabled -> l
+    1:1:void <clinit>():29:29 -> <clinit>
+    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):38:41 -> <init>
     int opcode() -> I2
     boolean isInvokeDirect() -> O1
-    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():63:63 -> P2
+    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():62:62 -> P2
     com.android.tools.r8.ir.code.InvokeDirect asInvokeDirect() -> Q
     java.lang.String getTypeString() -> Q2
-    1:1:boolean getInterfaceBit():53:53 -> S2
-    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):74:92 -> a
-    20:25:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):128:133 -> a
-    26:32:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):132:138 -> a
-    33:33:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):144:144 -> a
-    34:36:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):149:149 -> a
-    37:37:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):160:160 -> a
-    38:38:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):166:166 -> a
-    39:39:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    39:39:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):167 -> a
-    40:52:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):171:183 -> a
-    53:53:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    53:53:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):185 -> a
-    54:72:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):189:207 -> a
-    73:73:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeDirect):189:189 -> a
-    73:73:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):58 -> a
-    74:74:boolean lambda$canBeDeadCode$0(java.util.List,com.android.tools.r8.ir.code.Instruction):201:201 -> a
-    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):109:109 -> b
-    1:14:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):217:230 -> f
-com.android.tools.r8.ir.code.InvokeInterface -> com.android.tools.r8.s.b.s0:
+    1:1:boolean getInterfaceBit():52:52 -> S2
+    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:91 -> a
+    20:25:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):127:132 -> a
+    26:32:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):131:137 -> a
+    33:33:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):143:143 -> a
+    34:36:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):148:148 -> a
+    37:37:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):159:159 -> a
+    38:38:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):165:165 -> a
+    39:39:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):569:569 -> a
+    39:39:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):166 -> a
+    40:42:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):167:169 -> a
+    43:272:boolean com.android.tools.r8.graph.DexMethod.isInstanceInitializer(com.android.tools.r8.graph.DexDefinitionSupplier):0:229 -> a
+    43:272:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):169 -> a
+    273:280:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):170:177 -> a
+    281:281:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeDirect):189:189 -> a
+    281:281:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):57 -> a
+    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):108:108 -> b
+    1:14:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):182:195 -> f
+com.android.tools.r8.ir.code.InvokeInterface -> com.android.tools.r8.s.b.w0:
     boolean $assertionsDisabled -> l
     1:1:void <clinit>():27:27 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):30:30 -> <init>
@@ -26883,9 +26926,9 @@
     36:36:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeInterface):194:194 -> a
     36:36:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):45 -> a
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):84:84 -> b
-com.android.tools.r8.ir.code.InvokeMethod -> com.android.tools.r8.s.b.t0:
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.graph.DexMethod method -> i
+com.android.tools.r8.ir.code.InvokeMethod -> com.android.tools.r8.s.b.x0:
+    boolean $assertionsDisabled -> i
+    com.android.tools.r8.graph.DexMethod method -> j
     1:1:void <clinit>():35:35 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):40:41 -> <init>
     boolean hasInvariantOutType() -> N0
@@ -26921,10 +26964,10 @@
     7:8:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.utils.collections.ProgramMethodSet.create(com.android.tools.r8.graph.ProgramMethod):41:42 -> g
     7:8:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):93 -> g
     9:9:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):98:98 -> g
-    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> g
+    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> g
     10:10:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):97 -> g
     11:19:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):96:104 -> g
-    20:20:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> g
+    20:20:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> g
     20:20:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):104 -> g
     21:37:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):104:120 -> g
     38:46:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):118:126 -> g
@@ -26932,7 +26975,7 @@
     1:2:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):81:82 -> h
     com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> i
     1:1:java.lang.String toString():62:62 -> toString
-com.android.tools.r8.ir.code.InvokeMethodWithReceiver -> com.android.tools.r8.s.b.u0:
+com.android.tools.r8.ir.code.InvokeMethodWithReceiver -> com.android.tools.r8.s.b.y0:
     boolean $assertionsDisabled -> k
     1:1:void <clinit>():30:30 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):33:33 -> <init>
@@ -26944,16 +26987,17 @@
     com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement) -> a
     1:1:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):70:70 -> a
     2:2:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):104:104 -> a
-    3:8:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):182:187 -> a
-    9:1488:boolean com.android.tools.r8.ir.code.Instruction$SideEffectAssumption.canAssumeReceiverIsNotNull():0:1479 -> a
-    9:1488:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):188 -> a
-    1489:1520:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):188:219 -> a
-    1521:1521:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.ResolutionResult.isAccessibleFrom(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):67:67 -> a
-    1521:1521:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):219 -> a
-    1522:1545:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):220:243 -> a
-    1546:1546:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):248:248 -> a
-    1547:1547:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    1547:1547:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):248 -> a
+    3:27:boolean upperBoundAssumedByCallSiteOptimizationAndNoLongerInstantiated(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):149:173 -> a
+    28:28:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    28:28:boolean upperBoundAssumedByCallSiteOptimizationAndNoLongerInstantiated(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):176 -> a
+    29:29:boolean upperBoundAssumedByCallSiteOptimizationAndNoLongerInstantiated(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):177:177 -> a
+    30:70:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):183:223 -> a
+    71:71:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.ResolutionResult.isAccessibleFrom(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):67:67 -> a
+    71:71:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):223 -> a
+    72:82:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):224:234 -> a
+    83:83:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexEncodedMethod.getReference():254:254 -> a
+    83:83:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):234 -> a
+    84:107:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):234:257 -> a
     1:10:boolean verifyTypes(com.android.tools.r8.graph.AppView):119:128 -> b
     11:171:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):0:160 -> b
     11:171:boolean verifyTypes(com.android.tools.r8.graph.AppView):131 -> b
@@ -26961,14 +27005,8 @@
     172:172:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):160 -> b
     172:172:boolean verifyTypes(com.android.tools.r8.graph.AppView):131 -> b
     173:177:boolean verifyTypes(com.android.tools.r8.graph.AppView):132:136 -> b
-    178:201:boolean upperBoundAssumedByCallSiteOptimizationAndNoLongerInstantiated(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):149:172 -> b
-    178:201:boolean verifyTypes(com.android.tools.r8.graph.AppView):135 -> b
-    202:202:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
-    202:202:boolean upperBoundAssumedByCallSiteOptimizationAndNoLongerInstantiated(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):175 -> b
-    202:202:boolean verifyTypes(com.android.tools.r8.graph.AppView):135 -> b
-    203:203:boolean upperBoundAssumedByCallSiteOptimizationAndNoLongerInstantiated(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):176:176 -> b
-    203:203:boolean verifyTypes(com.android.tools.r8.graph.AppView):135 -> b
-    204:204:boolean verifyTypes(com.android.tools.r8.graph.AppView):132:132 -> b
+    178:178:boolean verifyTypes(com.android.tools.r8.graph.AppView):135:135 -> b
+    179:179:boolean verifyTypes(com.android.tools.r8.graph.AppView):132:132 -> b
     1:2:boolean hasRefinedReceiverLowerBoundType(com.android.tools.r8.graph.AppView):37:38 -> c
     1:2:boolean hasRefinedReceiverUpperBoundType(com.android.tools.r8.graph.AppView):42:43 -> d
     3:163:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):0:160 -> d
@@ -26977,9 +27015,9 @@
     164:164:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):160 -> d
     164:164:boolean hasRefinedReceiverUpperBoundType(com.android.tools.r8.graph.AppView):44 -> d
     1:6:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):78:83 -> i
-com.android.tools.r8.ir.code.InvokeMultiNewArray -> com.android.tools.r8.s.b.v0:
-    com.android.tools.r8.graph.DexType type -> i
-    boolean $assertionsDisabled -> j
+com.android.tools.r8.ir.code.InvokeMultiNewArray -> com.android.tools.r8.s.b.z0:
+    com.android.tools.r8.graph.DexType type -> j
+    boolean $assertionsDisabled -> i
     1:1:void <clinit>():24:24 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,java.util.List):29:30 -> <init>
     int opcode() -> I2
@@ -27003,15 +27041,11 @@
     8:8:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):106:106 -> a
     9:9:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):111:111 -> a
     10:15:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):176:181 -> a
-    16:16:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):186:186 -> a
-    17:22:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):176:181 -> a
-    17:22:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574 -> a
-    17:22:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):186 -> a
-    23:23:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeMultiNewArray):199:199 -> a
-    23:23:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):40 -> a
+    16:16:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeMultiNewArray):199:199 -> a
+    16:16:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):40 -> a
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):74:74 -> b
     2:16:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):116:130 -> b
-    17:17:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    17:17:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     17:17:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):137 -> b
     18:19:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):142:143 -> b
     20:20:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView) -> b
@@ -27020,9 +27054,9 @@
     21:21:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):148 -> b
     22:27:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):148:153 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
-com.android.tools.r8.ir.code.InvokeNewArray -> com.android.tools.r8.s.b.w0:
-    com.android.tools.r8.graph.DexType type -> i
-    boolean $assertionsDisabled -> j
+com.android.tools.r8.ir.code.InvokeNewArray -> com.android.tools.r8.s.b.A0:
+    com.android.tools.r8.graph.DexType type -> j
+    boolean $assertionsDisabled -> i
     1:1:void <clinit>():24:24 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,java.util.List):29:30 -> <init>
     int opcode() -> I2
@@ -27041,15 +27075,11 @@
     23:23:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):129:129 -> a
     24:24:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):134:134 -> a
     25:30:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):189:194 -> a
-    31:31:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):199:199 -> a
-    32:37:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):189:194 -> a
-    32:37:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574 -> a
-    32:37:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):199 -> a
-    38:38:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeNewArray):204:204 -> a
-    38:38:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):40 -> a
+    31:31:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeNewArray):204:204 -> a
+    31:31:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):40 -> a
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):93:93 -> b
     2:16:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):143:157 -> b
-    17:17:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    17:17:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     17:17:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):164 -> b
     18:19:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):169:170 -> b
     20:20:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView) -> b
@@ -27059,9 +27089,9 @@
     22:22:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):176:176 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     1:1:java.lang.String toString():64:64 -> toString
-com.android.tools.r8.ir.code.InvokePolymorphic -> com.android.tools.r8.s.b.x0:
-    boolean $assertionsDisabled -> l
-    com.android.tools.r8.graph.DexProto proto -> k
+com.android.tools.r8.ir.code.InvokePolymorphic -> com.android.tools.r8.s.b.B0:
+    boolean $assertionsDisabled -> k
+    com.android.tools.r8.graph.DexProto proto -> l
     1:1:void <clinit>():29:29 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List):34:35 -> <init>
     int opcode() -> I2
@@ -27092,9 +27122,9 @@
     1:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):112:114 -> b
     com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> g
     com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> i
-com.android.tools.r8.ir.code.InvokeStatic -> com.android.tools.r8.s.b.y0:
-    boolean isInterface -> k
-    boolean $assertionsDisabled -> l
+com.android.tools.r8.ir.code.InvokeStatic -> com.android.tools.r8.s.b.C0:
+    boolean $assertionsDisabled -> k
+    boolean isInterface -> l
     1:1:void <clinit>():31:31 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):36:37 -> <init>
     3:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):41:42 -> <init>
@@ -27115,29 +27145,23 @@
     66:71:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):206:211 -> a
     72:72:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexEncodedMethod.getReference():254:254 -> a
     72:72:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):211 -> a
-    73:77:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):211:215 -> a
-    78:1553:boolean com.android.tools.r8.ir.code.Instruction$SideEffectAssumption.canAssumeClassIsAlreadyInitialized():0:1475 -> a
-    78:1553:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):219 -> a
-    1554:1560:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):224:230 -> a
-    1561:1561:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):225:225 -> a
-    1562:1562:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeStatic):214:214 -> a
-    1562:1562:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):57 -> a
-    1563:1563:boolean lambda$instructionMayHaveSideEffects$0(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):229:229 -> a
-    1564:1564:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):235:235 -> a
-    1565:1565:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    1565:1565:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):235 -> a
+    73:92:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):211:230 -> a
+    93:93:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):225:225 -> a
+    94:94:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeStatic):214:214 -> a
+    94:94:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):57 -> a
+    95:95:boolean lambda$instructionMayHaveSideEffects$0(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):229:229 -> a
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):96:96 -> b
     1:6:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):111:116 -> i
     7:12:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):115:120 -> i
-    13:13:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> i
+    13:13:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> i
     13:13:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):120 -> i
     14:15:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):122:123 -> i
-    16:16:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> i
+    16:16:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> i
     16:16:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):123 -> i
     17:17:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):127:127 -> i
-com.android.tools.r8.ir.code.InvokeSuper -> com.android.tools.r8.s.b.z0:
-    boolean $assertionsDisabled -> m
-    boolean isInterface -> l
+com.android.tools.r8.ir.code.InvokeSuper -> com.android.tools.r8.s.b.D0:
+    boolean isInterface -> m
+    boolean $assertionsDisabled -> l
     1:1:void <clinit>():25:25 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):30:31 -> <init>
     int opcode() -> I2
@@ -27154,7 +27178,7 @@
     30:30:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeSuper):219:219 -> a
     30:30:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):46 -> a
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):91:91 -> b
-com.android.tools.r8.ir.code.InvokeVirtual -> com.android.tools.r8.s.b.A0:
+com.android.tools.r8.ir.code.InvokeVirtual -> com.android.tools.r8.s.b.E0:
     boolean $assertionsDisabled -> l
     1:1:void <clinit>():28:28 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):31:31 -> <init>
@@ -27169,12 +27193,12 @@
     21:21:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):104:104 -> a
     22:31:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexMethod):114:123 -> a
     32:43:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexMethod):118:129 -> a
-    44:44:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    44:44:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     44:44:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexMethod):130 -> a
     45:45:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexMethod):132:132 -> a
-    46:46:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    46:46:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     46:46:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexMethod):133 -> a
-    47:47:boolean com.android.tools.r8.graph.DexClass.isFinal():469:469 -> a
+    47:47:boolean com.android.tools.r8.graph.DexClass.isFinal():476:476 -> a
     47:47:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexMethod):134 -> a
     48:48:boolean com.android.tools.r8.graph.DexEncodedMethod.isFinal():330:330 -> a
     48:48:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexMethod):134 -> a
@@ -27184,32 +27208,32 @@
     52:52:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeVirtual):224:224 -> a
     52:52:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):46 -> a
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):85:85 -> b
-com.android.tools.r8.ir.code.JumpInstruction -> com.android.tools.r8.s.b.B0:
+com.android.tools.r8.ir.code.JumpInstruction -> com.android.tools.r8.s.b.F0:
     boolean $assertionsDisabled -> h
-    1:1:void <clinit>():12:12 -> <clinit>
-    1:1:void <init>():15:15 -> <init>
-    2:2:void <init>(com.android.tools.r8.ir.code.Value):19:19 -> <init>
-    3:3:void <init>(java.util.List):23:23 -> <init>
+    1:1:void <clinit>():13:13 -> <clinit>
+    1:1:void <init>():16:16 -> <init>
+    2:2:void <init>(com.android.tools.r8.ir.code.Value):20:20 -> <init>
+    3:3:void <init>(java.util.List):24:24 -> <init>
     com.android.tools.r8.ir.code.BasicBlock fallthroughBlock() -> M2
     boolean hasInvariantOutType() -> N0
     boolean isJumpInstruction() -> Z1
-    boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
     1:253:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():0:252 -> a
-    1:253:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):52 -> a
+    1:253:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):53 -> a
+    254:254:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):37:37 -> a
     com.android.tools.r8.ir.code.JumpInstruction asJumpInstruction() -> a0
-    1:1:void setFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):31:31 -> b
+    1:1:void setFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):32:32 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
-com.android.tools.r8.ir.code.LazyDominatorTree -> com.android.tools.r8.s.b.C0:
+com.android.tools.r8.ir.code.LazyDominatorTree -> com.android.tools.r8.s.b.G0:
     com.android.tools.r8.ir.code.IRCode code -> b
     1:2:void <init>(com.android.tools.r8.ir.code.IRCode):13:14 -> <init>
     1:1:java.lang.Object get():9:9 -> a
     1:1:com.android.tools.r8.ir.code.DominatorTree get():19:19 -> c
     1:1:com.android.tools.r8.ir.code.DominatorTree lambda$get$0():19:19 -> d
-com.android.tools.r8.ir.code.LinearFlowInstructionListIterator -> com.android.tools.r8.s.b.D0:
-    com.android.tools.r8.ir.code.IRCode code -> a
-    com.android.tools.r8.ir.code.InstructionListIterator currentBlockIterator -> c
-    com.android.tools.r8.ir.code.BasicBlock currentBlock -> b
-    boolean $assertionsDisabled -> d
+com.android.tools.r8.ir.code.LinearFlowInstructionListIterator -> com.android.tools.r8.s.b.H0:
+    com.android.tools.r8.ir.code.IRCode code -> b
+    com.android.tools.r8.ir.code.InstructionListIterator currentBlockIterator -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock currentBlock -> c
     1:1:void <clinit>():17:17 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):25:25 -> <init>
     2:10:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,int):28:36 -> <init>
@@ -27218,29 +27242,29 @@
     3:3:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):53:53 -> a
     4:4:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):64:64 -> a
     5:5:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):75:75 -> a
-    6:6:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):81:81 -> a
-    7:7:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):86:86 -> a
-    8:8:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):97:97 -> a
-    9:12:boolean isLinearEdge(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):112:115 -> a
-    13:23:com.android.tools.r8.ir.code.BasicBlock getBeginningOfTrivialLinearGotoChain(com.android.tools.r8.ir.code.BasicBlock):146:156 -> a
+    6:6:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):82:82 -> a
+    7:7:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):87:87 -> a
+    8:8:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexType):98:98 -> a
+    9:12:boolean isLinearEdge(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):113:116 -> a
+    13:23:com.android.tools.r8.ir.code.BasicBlock getBeginningOfTrivialLinearGotoChain(com.android.tools.r8.ir.code.BasicBlock):147:157 -> a
     1:1:void add(java.lang.Object):17:17 -> add
-    2:2:void add(com.android.tools.r8.ir.code.Instruction):103:103 -> add
+    2:2:void add(com.android.tools.r8.ir.code.Instruction):104:104 -> add
     2:2:void add(java.lang.Object):17 -> add
     1:1:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):58:58 -> b
-    1:1:void removeOrReplaceByDebugLocalRead():108:108 -> g
-    1:1:boolean hasNext():120:120 -> hasNext
-    1:4:boolean hasPrevious():161:164 -> hasPrevious
-    1:18:com.android.tools.r8.ir.code.Instruction next():125:142 -> k
+    1:1:void removeOrReplaceByDebugLocalRead():109:109 -> h
+    1:1:boolean hasNext():121:121 -> hasNext
+    1:4:boolean hasPrevious():162:165 -> hasPrevious
+    1:18:com.android.tools.r8.ir.code.Instruction next():126:143 -> l
     1:1:java.lang.Object next():17:17 -> next
-    1:1:int nextIndex():186:186 -> nextIndex
+    1:1:int nextIndex():187:187 -> nextIndex
     1:1:java.lang.Object previous():17:17 -> previous
-    2:14:com.android.tools.r8.ir.code.Instruction previous():169:181 -> previous
-    1:1:int previousIndex():191:191 -> previousIndex
-    1:1:void remove():196:196 -> remove
+    2:14:com.android.tools.r8.ir.code.Instruction previous():170:182 -> previous
+    1:1:int previousIndex():192:192 -> previousIndex
+    1:1:void remove():197:197 -> remove
     1:1:void set(java.lang.Object):17:17 -> set
-    2:2:void set(com.android.tools.r8.ir.code.Instruction):201:201 -> set
+    2:2:void set(com.android.tools.r8.ir.code.Instruction):202:202 -> set
     2:2:void set(java.lang.Object):17 -> set
-com.android.tools.r8.ir.code.Load -> com.android.tools.r8.s.b.E0:
+com.android.tools.r8.ir.code.Load -> com.android.tools.r8.s.b.I0:
     1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):23:23 -> <init>
     int maxInValueRegister() -> G2
     1:1:int maxOutValueRegister():62:62 -> H2
@@ -27259,7 +27283,7 @@
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):52:52 -> b
     com.android.tools.r8.ir.code.Load asLoad() -> b0
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
-com.android.tools.r8.ir.code.LogicalBinop -> com.android.tools.r8.s.b.F0:
+com.android.tools.r8.ir.code.LogicalBinop -> com.android.tools.r8.s.b.J0:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():17:17 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):20:20 -> <init>
@@ -27279,7 +27303,7 @@
     1:5:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):44:48 -> c
     com.android.tools.r8.ir.code.LogicalBinop asLogicalBinop() -> c0
     com.android.tools.r8.code.Instruction CreateLong(int,int,int) -> d
-com.android.tools.r8.ir.code.MemberType -> com.android.tools.r8.s.b.G0:
+com.android.tools.r8.ir.code.MemberType -> com.android.tools.r8.s.b.K0:
     com.android.tools.r8.ir.code.MemberType CHAR -> c
     com.android.tools.r8.ir.code.MemberType BOOLEAN_OR_BYTE -> b
     com.android.tools.r8.ir.code.MemberType INT -> e
@@ -27295,9 +27319,9 @@
     11:11:void <clinit>() -> <clinit>
     1:1:void <init>(java.lang.String,int):11:11 -> <init>
     1:1:boolean isPrecise():24:24 -> a
-com.android.tools.r8.ir.code.Monitor -> com.android.tools.r8.s.b.H0:
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.ir.code.Monitor$Type type -> h
+com.android.tools.r8.ir.code.Monitor -> com.android.tools.r8.s.b.L0:
+    com.android.tools.r8.ir.code.Monitor$Type type -> i
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():21:21 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.Monitor$Type,com.android.tools.r8.ir.code.Value):30:31 -> <init>
     1:7:java.lang.String getInstructionName():118:124 -> F0
@@ -27323,14 +27347,14 @@
     1:1:boolean isEnter():49:49 -> d2
     1:1:boolean isMonitorEnter():102 -> d2
     1:1:com.android.tools.r8.ir.code.Value object():45:45 -> f
-com.android.tools.r8.ir.code.Monitor$Type -> com.android.tools.r8.s.b.H0$a:
+com.android.tools.r8.ir.code.Monitor$Type -> com.android.tools.r8.s.b.L0$a:
     com.android.tools.r8.ir.code.Monitor$Type ENTER -> a
     com.android.tools.r8.ir.code.Monitor$Type[] $VALUES -> c
     com.android.tools.r8.ir.code.Monitor$Type EXIT -> b
     1:1:void <clinit>():24:24 -> <clinit>
     2:2:void <clinit>():23:23 -> <clinit>
     1:1:void <init>(java.lang.String,int):23:23 -> <init>
-com.android.tools.r8.ir.code.Move -> com.android.tools.r8.s.b.I0:
+com.android.tools.r8.ir.code.Move -> com.android.tools.r8.s.b.M0:
     boolean $assertionsDisabled -> h
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):23:23 -> <init>
@@ -27356,36 +27380,40 @@
     boolean isMove() -> e2
     1:1:boolean isOutConstant():81:81 -> o2
     1:1:java.lang.String toString():76:76 -> toString
-com.android.tools.r8.ir.code.MoveException -> com.android.tools.r8.s.b.J0:
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.graph.DexType exceptionType -> h
-    com.android.tools.r8.utils.InternalOptions options -> i
-    1:1:void <clinit>():20:20 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):25:27 -> <init>
-    1:1:int maxInValueRegister():52:52 -> G2
+com.android.tools.r8.ir.code.MoveException -> com.android.tools.r8.s.b.N0:
+    com.android.tools.r8.graph.DexType exceptionType -> i
+    boolean $assertionsDisabled -> h
+    com.android.tools.r8.utils.InternalOptions options -> j
+    1:1:void <clinit>():21:21 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):26:28 -> <init>
+    1:1:int maxInValueRegister():53:53 -> G2
     int maxOutValueRegister() -> H2
     int opcode() -> I2
-    1:1:com.android.tools.r8.graph.DexType getExceptionType():121:121 -> M2
+    1:1:com.android.tools.r8.graph.DexType getExceptionType():126:126 -> M2
     boolean hasInvariantOutType() -> N0
     void buildCf(com.android.tools.r8.ir.conversion.CfBuilder) -> a
     1:269:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMoveException():0:268 -> a
-    1:269:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):92 -> a
-    270:270:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):37:37 -> a
-    271:271:com.android.tools.r8.ir.code.Value dest():41:41 -> a
-    271:271:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):46 -> a
-    272:273:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):46:47 -> a
-    274:276:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):84:86 -> a
-    277:277:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):97:97 -> a
-    278:278:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):112:112 -> a
-    279:279:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):117:117 -> a
-    1:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):63:66 -> b
-    5:5:boolean com.android.tools.r8.utils.InternalOptions.canHaveExceptionTypeBug():1636:1636 -> b
-    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):66 -> b
-    6:6:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):67:67 -> b
+    1:269:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):97 -> a
+    270:270:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):38:38 -> a
+    271:271:com.android.tools.r8.ir.code.Value dest():42:42 -> a
+    271:271:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):47 -> a
+    272:273:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):47:48 -> a
+    274:276:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):85:87 -> a
+    277:277:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    277:277:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):88 -> a
+    278:278:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):91:91 -> a
+    279:279:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):89:89 -> a
+    280:280:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):102:102 -> a
+    281:281:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):117:117 -> a
+    282:282:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):122:122 -> a
+    1:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):64:67 -> b
+    5:5:boolean com.android.tools.r8.utils.InternalOptions.canHaveExceptionTypeBug():1648:1648 -> b
+    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):67 -> b
+    6:6:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):68:68 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     com.android.tools.r8.ir.code.MoveException asMoveException() -> f0
     boolean isMoveException() -> f2
-com.android.tools.r8.ir.code.Mul -> com.android.tools.r8.s.b.K0:
+com.android.tools.r8.ir.code.Mul -> com.android.tools.r8.s.b.O0:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):22:22 -> <init>
     int opcode() -> I2
     boolean isCommutative() -> N2
@@ -27408,9 +27436,9 @@
     1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):53:53 -> f
     com.android.tools.r8.ir.code.Mul asMul() -> g0
     boolean isMul() -> g2
-com.android.tools.r8.ir.code.Neg -> com.android.tools.r8.s.b.L0:
-    com.android.tools.r8.ir.code.NumericType type -> h
-    boolean $assertionsDisabled -> i
+com.android.tools.r8.ir.code.Neg -> com.android.tools.r8.s.b.P0:
+    com.android.tools.r8.ir.code.NumericType type -> i
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():21:21 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):26:27 -> <init>
     int opcode() -> I2
@@ -27427,41 +27455,43 @@
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):49:49 -> b
     com.android.tools.r8.ir.code.Neg asNeg() -> h0
     boolean isNeg() -> h2
-com.android.tools.r8.ir.code.NewArrayEmpty -> com.android.tools.r8.s.b.M0:
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.graph.DexType type -> h
-    1:1:void <clinit>():21:21 -> <clinit>
-    1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):26:27 -> <init>
+com.android.tools.r8.ir.code.NewArrayEmpty -> com.android.tools.r8.s.b.Q0:
+    com.android.tools.r8.graph.DexType type -> i
+    boolean $assertionsDisabled -> h
+    1:1:void <clinit>():22:22 -> <clinit>
+    1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):27:28 -> <init>
     int maxInValueRegister() -> G2
     int maxOutValueRegister() -> H2
     int opcode() -> I2
-    1:1:com.android.tools.r8.ir.code.Value size():50:50 -> M2
+    1:1:com.android.tools.r8.ir.code.Value size():51:51 -> M2
     boolean hasInvariantOutType() -> N0
-    1:4:boolean instructionInstanceCanThrow():78:81 -> R0
+    1:4:boolean instructionInstanceCanThrow():79:82 -> R0
     boolean instructionTypeCanThrow() -> T0
-    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):37:37 -> a
-    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55:55 -> a
-    3:3:com.android.tools.r8.ir.code.Value dest():46:46 -> a
-    3:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):56 -> a
-    4:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):56:57 -> a
-    6:11:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):86:91 -> a
-    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    12:12:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):91 -> a
-    13:13:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):112:112 -> a
-    14:14:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):122:122 -> a
-    15:16:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):127:128 -> a
-    17:18:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):133:134 -> a
-    19:19:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):139:139 -> a
-    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):96:96 -> b
+    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):38:38 -> a
+    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):56:56 -> a
+    3:3:com.android.tools.r8.ir.code.Value dest():47:47 -> a
+    3:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):57 -> a
+    4:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):57:58 -> a
+    6:11:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):87:92 -> a
+    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    12:12:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):92 -> a
+    13:13:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):95:95 -> a
+    14:14:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):93:93 -> a
+    15:15:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):116:116 -> a
+    16:16:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):126:126 -> a
+    17:18:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):131:132 -> a
+    19:20:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):137:138 -> a
+    21:21:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):143:143 -> a
+    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):100:100 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     com.android.tools.r8.ir.code.NewArrayEmpty asNewArrayEmpty() -> i0
     boolean isNewArrayEmpty() -> i2
-    1:1:java.lang.String toString():42:42 -> toString
-com.android.tools.r8.ir.code.NewArrayFilledData -> com.android.tools.r8.s.b.N0:
-    long size -> i
-    short[] data -> j
-    boolean $assertionsDisabled -> k
-    int element_width -> h
+    1:1:java.lang.String toString():43:43 -> toString
+com.android.tools.r8.ir.code.NewArrayFilledData -> com.android.tools.r8.s.b.R0:
+    long size -> j
+    short[] data -> k
+    int element_width -> i
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():19:19 -> <clinit>
     1:4:void <init>(com.android.tools.r8.ir.code.Value,int,long,short[]):29:32 -> <init>
     int maxInValueRegister() -> G2
@@ -27477,19 +27507,15 @@
     281:281:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):61:61 -> a
     282:282:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):109:109 -> a
     283:289:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):126:132 -> a
-    290:290:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):144:144 -> a
-    291:297:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):126:132 -> a
-    291:297:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574 -> a
-    291:297:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):144 -> a
     1:7:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):66:72 -> b
     8:8:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     com.android.tools.r8.ir.code.NewArrayFilledData asNewArrayFilledData() -> j0
     boolean isNewArrayFilledData() -> j2
-com.android.tools.r8.ir.code.NewInstance -> com.android.tools.r8.s.b.O0:
-    boolean allowSpilling -> i
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.graph.DexType clazz -> h
+com.android.tools.r8.ir.code.NewInstance -> com.android.tools.r8.s.b.S0:
+    com.android.tools.r8.graph.DexType clazz -> i
+    boolean allowSpilling -> j
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():30:30 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):36:36 -> <init>
     2:7:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):33:38 -> <init>
@@ -27498,8 +27524,8 @@
     int opcode() -> I2
     1:1:com.android.tools.r8.ir.code.Value dest():56:56 -> M2
     boolean hasInvariantOutType() -> N0
-    1:1:boolean isSpillingAllowed():211:211 -> N2
-    1:1:void markNoSpilling():207:207 -> O2
+    1:1:boolean isSpillingAllowed():206:206 -> N2
+    1:1:void markNoSpilling():202:202 -> O2
     boolean instructionTypeCanThrow() -> T0
     1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):52:52 -> a
     2:2:com.android.tools.r8.ir.code.Value dest():56:56 -> a
@@ -27512,7 +27538,7 @@
     9:9:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):130:130 -> a
     10:10:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):140:140 -> a
     11:25:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):147:161 -> a
-    26:26:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    26:26:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     26:26:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):161 -> a
     27:32:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):162:167 -> a
     33:33:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):20:20 -> a
@@ -27523,22 +27549,19 @@
     45:60:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):177:192 -> a
     61:61:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):157:157 -> a
     62:62:boolean lambda$instructionMayHaveSideEffects$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):180:180 -> a
-    63:63:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):203:203 -> a
-    64:64:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    64:64:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):203 -> a
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):72:72 -> b
-    2:2:boolean lambda$instructionMayTriggerMethodInvocation$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):222:222 -> b
-    3:6:boolean verifyTypes(com.android.tools.r8.graph.AppView):233:236 -> b
-    1:8:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):216:223 -> d
-    9:17:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):219:227 -> d
+    2:2:boolean lambda$instructionMayTriggerMethodInvocation$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):217:217 -> b
+    3:6:boolean verifyTypes(com.android.tools.r8.graph.AppView):228:231 -> b
+    1:8:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):211:218 -> d
+    9:17:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):214:222 -> d
     com.android.tools.r8.ir.code.NewInstance asNewInstance() -> k0
     boolean isNewInstance() -> k2
     1:1:java.lang.String toString():67:67 -> toString
-com.android.tools.r8.ir.code.NextUntilIterator -> com.android.tools.r8.s.b.P0:
+com.android.tools.r8.ir.code.NextUntilIterator -> com.android.tools.r8.s.b.T0:
     1:3:java.lang.Object nextUntil(java.util.function.Predicate):19:21 -> a
-com.android.tools.r8.ir.code.Not -> com.android.tools.r8.s.b.Q0:
-    com.android.tools.r8.ir.code.NumericType type -> h
-    boolean $assertionsDisabled -> i
+com.android.tools.r8.ir.code.Not -> com.android.tools.r8.s.b.U0:
+    com.android.tools.r8.ir.code.NumericType type -> i
+    boolean $assertionsDisabled -> h
     1:1:void <clinit>():19:19 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:25 -> <init>
     int opcode() -> I2
@@ -27554,7 +27577,7 @@
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
     com.android.tools.r8.ir.code.Not asNot() -> l0
     boolean isNot() -> l2
-com.android.tools.r8.ir.code.NumberConversion -> com.android.tools.r8.s.b.R0:
+com.android.tools.r8.ir.code.NumberConversion -> com.android.tools.r8.s.b.V0:
     com.android.tools.r8.ir.code.NumericType to -> i
     com.android.tools.r8.ir.code.NumericType from -> h
     1:3:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):36:38 -> <init>
@@ -27584,7 +27607,7 @@
     1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):138:142 -> b
     com.android.tools.r8.ir.code.NumberConversion asNumberConversion() -> m0
     boolean isNumberConversion() -> m2
-com.android.tools.r8.ir.code.NumericType -> com.android.tools.r8.s.b.S0:
+com.android.tools.r8.ir.code.NumericType -> com.android.tools.r8.s.b.W0:
     com.android.tools.r8.ir.code.NumericType DOUBLE -> g
     com.android.tools.r8.ir.code.NumericType FLOAT -> f
     com.android.tools.r8.ir.code.NumericType LONG -> e
@@ -27610,7 +27633,7 @@
     52:52:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):49:49 -> a
     53:59:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):45:51 -> a
     60:60:boolean isWide():62:62 -> a
-com.android.tools.r8.ir.code.Or -> com.android.tools.r8.s.b.T0:
+com.android.tools.r8.ir.code.Or -> com.android.tools.r8.s.b.X0:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):18:18 -> <init>
     int opcode() -> I2
     boolean isCommutative() -> N2
@@ -27628,20 +27651,20 @@
     1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):53:53 -> d
     com.android.tools.r8.ir.code.Or asOr() -> n0
     boolean isOr() -> n2
-com.android.tools.r8.ir.code.Phi -> com.android.tools.r8.s.b.U0:
-    java.util.List operands -> r
-    java.util.List definitionUsers -> u
-    boolean $assertionsDisabled -> v
-    com.android.tools.r8.ir.code.Phi$RegisterReadType readType -> s
-    com.android.tools.r8.ir.code.BasicBlock block -> q
-    boolean isStackPhi -> t
+com.android.tools.r8.ir.code.Phi -> com.android.tools.r8.s.b.Y0:
+    com.android.tools.r8.ir.code.Phi$RegisterReadType readType -> t
+    java.util.List definitionUsers -> v
+    java.util.List operands -> s
+    boolean isStackPhi -> u
+    boolean $assertionsDisabled -> q
+    com.android.tools.r8.ir.code.BasicBlock block -> r
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void <init>(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.ir.code.Phi$RegisterReadType):59:59 -> <init>
     2:21:void <init>(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.ir.code.Phi$RegisterReadType):43:62 -> <init>
     boolean isConstant() -> L
-    1:2:boolean isValueOnStack():358:359 -> S
+    1:2:boolean isValueOnStack():370:371 -> S
     1:1:void markNonDebugLocalRead():163:163 -> V
-    1:1:boolean needsRegister():381:381 -> W
+    1:1:boolean needsRegister():393:393 -> W
     boolean isPhi() -> a
     1:4:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):88:91 -> a
     5:30:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):113:138 -> a
@@ -27673,76 +27696,76 @@
     46:57:void removeOperandsByIndex(java.util.List):192:203 -> a
     58:61:void replaceOperandAt(int,com.android.tools.r8.ir.code.Value):207:210 -> a
     62:65:void replaceOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):214:217 -> a
-    66:105:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):244:283 -> a
-    106:106:void addDefinitionsUser(java.util.Map):340:340 -> a
-    106:106:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):283 -> a
-    107:116:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):290:299 -> a
-    117:124:void print(com.android.tools.r8.utils.CfgPrinter):328:335 -> a
-    125:125:void addDefinitionsUser(java.util.Map):340:340 -> a
-    126:129:void lambda$verifyIsStackPhi$0(java.util.Set,com.android.tools.r8.ir.code.Value):370:373 -> a
-    130:130:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.cf.TypeVerificationHelper):389:389 -> a
-    131:131:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():881:881 -> a
-    131:131:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.cf.TypeVerificationHelper):389 -> a
-    132:140:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.cf.TypeVerificationHelper):389:397 -> a
+    66:117:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):244:295 -> a
+    118:118:void addDefinitionsUser(java.util.Map):352:352 -> a
+    118:118:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):295 -> a
+    119:128:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):302:311 -> a
+    129:136:void print(com.android.tools.r8.utils.CfgPrinter):340:347 -> a
+    137:137:void addDefinitionsUser(java.util.Map):352:352 -> a
+    138:141:void lambda$verifyIsStackPhi$0(java.util.Set,com.android.tools.r8.ir.code.Value):382:385 -> a
+    142:142:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.cf.TypeVerificationHelper):401:401 -> a
+    143:143:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():769:769 -> a
+    143:143:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.cf.TypeVerificationHelper):401 -> a
+    144:152:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.cf.TypeVerificationHelper):401:409 -> a
     boolean isDefinedByInstructionSatisfying(java.util.function.Predicate) -> b
     1:2:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):16:17 -> b
-    1:2:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):412 -> b
-    3:19:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):413:429 -> b
-    20:22:void abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):95:97 -> b
-    23:23:com.android.tools.r8.ir.code.Value getOperand(int):179:179 -> b
-    24:24:void removeDefinitionsUser(java.util.Map):344:344 -> b
-    25:25:void setIsStackPhi(boolean):363:363 -> b
-    1:2:boolean verifyIsStackPhi(java.util.Set):367:368 -> c
-    1:3:com.android.tools.r8.ir.analysis.type.TypeElement computePhiType(com.android.tools.r8.graph.AppView):402:404 -> d
+    1:2:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):424 -> b
+    3:24:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):425:446 -> b
+    25:27:void abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):95:97 -> b
+    28:28:com.android.tools.r8.ir.code.Value getOperand(int):179:179 -> b
+    29:29:void removeDefinitionsUser(java.util.Map):356:356 -> b
+    30:30:void setIsStackPhi(boolean):375:375 -> b
+    1:2:boolean verifyIsStackPhi(java.util.Set):379:380 -> c
+    1:3:com.android.tools.r8.ir.analysis.type.TypeElement computePhiType(com.android.tools.r8.graph.AppView):414:416 -> d
     com.android.tools.r8.ir.code.Phi asPhi() -> g
     1:2:void removeOperand(int):187:188 -> g
     1:1:com.android.tools.r8.ir.code.BasicBlock getBlock():82:82 -> h
-    2:3:void appendOperand(com.android.tools.r8.ir.code.Value):174:175 -> h
-    1:1:void clearDefinitionsUsers():348:348 -> h0
-    1:1:boolean usesValueOneTime(com.android.tools.r8.ir.code.Value):385:385 -> i
+    1:1:void clearDefinitionsUsers():360:360 -> h0
+    1:2:void appendOperand(com.android.tools.r8.ir.code.Value):174:175 -> i
     1:1:java.util.List getOperands():183:183 -> i0
+    1:1:boolean usesValueOneTime(com.android.tools.r8.ir.code.Value):397:397 -> j
     1:1:boolean isTrivialPhi():224:224 -> j0
-    1:10:java.lang.String printPhi():315:324 -> k0
-    1:4:void removeDeadPhi():305:308 -> l0
+    1:10:java.lang.String printPhi():327:336 -> k0
+    1:4:void removeDeadPhi():317:320 -> l0
     5:5:com.android.tools.r8.ir.code.BasicBlock getBlock():82:82 -> l0
-    5:5:void removeDeadPhi():311 -> l0
-    6:6:void removeDeadPhi():311:311 -> l0
+    5:5:void removeDeadPhi():323 -> l0
+    6:6:void removeDeadPhi():323:323 -> l0
     1:1:boolean removeTrivialPhi():239:239 -> m0
-com.android.tools.r8.ir.code.Phi$RegisterReadType -> com.android.tools.r8.s.b.U0$a:
+com.android.tools.r8.ir.code.Phi$RegisterReadType -> com.android.tools.r8.s.b.Y0$a:
     com.android.tools.r8.ir.code.Phi$RegisterReadType NORMAL -> a
     com.android.tools.r8.ir.code.Phi$RegisterReadType DEBUG -> b
     1:2:void <clinit>():38:39 -> <clinit>
     1:1:void <init>(java.lang.String,int):37:37 -> <init>
-com.android.tools.r8.ir.code.Pop -> com.android.tools.r8.s.b.V0:
-    1:1:void <init>(com.android.tools.r8.ir.code.StackValue):19:19 -> <init>
-    1:1:int maxInValueRegister():59:59 -> G2
-    1:1:int maxOutValueRegister():64:64 -> H2
+com.android.tools.r8.ir.code.Pop -> com.android.tools.r8.s.b.Z0:
+    1:1:void <init>(com.android.tools.r8.ir.code.StackValue):20:20 -> <init>
+    1:1:int maxInValueRegister():60:60 -> G2
+    1:1:int maxOutValueRegister():65:65 -> H2
     int opcode() -> I2
     boolean hasInvariantOutType() -> N0
-    boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
     1:289:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forPop():0:288 -> a
-    1:289:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):70 -> a
-    290:290:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):29:29 -> a
-    291:291:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):75:75 -> a
-    292:292:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):80:80 -> a
+    1:289:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):71 -> a
+    290:290:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):30:30 -> a
+    291:291:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
+    292:292:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):81:81 -> a
     293:293:com.android.tools.r8.cf.code.CfStackInstruction com.android.tools.r8.cf.code.CfStackInstruction.popType(com.android.tools.r8.ir.code.ValueType):70:70 -> a
-    293:293:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):80 -> a
-    294:294:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):80:80 -> a
-    295:295:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):85:85 -> a
-    1:5:void addInValue(com.android.tools.r8.ir.code.Value):34:38 -> b
-    6:6:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54:54 -> b
+    293:293:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):81 -> a
+    294:294:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):81:81 -> a
+    295:295:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):86:86 -> a
+    296:296:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):97:97 -> a
+    1:5:void addInValue(com.android.tools.r8.ir.code.Value):35:39 -> b
+    6:6:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):55:55 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     boolean isPop() -> p2
-com.android.tools.r8.ir.code.Position -> com.android.tools.r8.s.b.W0:
-    com.android.tools.r8.ir.code.Position TESTING_POSITION -> h
-    com.android.tools.r8.ir.code.Position NO_POSITION_SYNTHETIC -> g
-    com.android.tools.r8.graph.DexString file -> b
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.graph.DexMethod method -> d
-    com.android.tools.r8.ir.code.Position NO_POSITION -> f
-    boolean synthetic -> c
-    int line -> a
-    com.android.tools.r8.ir.code.Position callerPosition -> e
+com.android.tools.r8.ir.code.Position -> com.android.tools.r8.s.b.a1:
+    com.android.tools.r8.ir.code.Position callerPosition -> i
+    com.android.tools.r8.graph.DexString file -> f
+    com.android.tools.r8.graph.DexMethod method -> h
+    com.android.tools.r8.ir.code.Position NO_POSITION_SYNTHETIC -> b
+    boolean synthetic -> g
+    com.android.tools.r8.ir.code.Position NO_POSITION -> a
+    int line -> e
+    com.android.tools.r8.ir.code.Position TESTING_POSITION -> c
+    boolean $assertionsDisabled -> d
     1:12:void <clinit>():13:24 -> <clinit>
     1:3:void <init>(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):39:41 -> <init>
     4:10:void <init>(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean):45:51 -> <init>
@@ -27761,7 +27784,7 @@
     1:5:int hashCode():134:138 -> hashCode
     1:19:java.lang.String toString(boolean):143:161 -> toString
     1:19:java.lang.String toString():166 -> toString
-com.android.tools.r8.ir.code.Rem -> com.android.tools.r8.s.b.X0:
+com.android.tools.r8.ir.code.Rem -> com.android.tools.r8.s.b.b1:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:24 -> <init>
     int opcode() -> I2
     boolean isCommutative() -> N2
@@ -27786,7 +27809,7 @@
     1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):59:59 -> f
     com.android.tools.r8.ir.code.Rem asRem() -> o0
     boolean isRem() -> q2
-com.android.tools.r8.ir.code.Return -> com.android.tools.r8.s.b.Y0:
+com.android.tools.r8.ir.code.Return -> com.android.tools.r8.s.b.c1:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():21:21 -> <clinit>
     1:1:void <init>():24:24 -> <init>
@@ -27810,7 +27833,7 @@
     24:26:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):87 -> b
     com.android.tools.r8.ir.code.Return asReturn() -> p0
     boolean isReturn() -> r2
-com.android.tools.r8.ir.code.Shl -> com.android.tools.r8.s.b.Z0:
+com.android.tools.r8.ir.code.Shl -> com.android.tools.r8.s.b.d1:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
     int opcode() -> I2
     boolean isCommutative() -> N2
@@ -27828,7 +27851,7 @@
     1:1:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):33:33 -> g
     com.android.tools.r8.ir.code.Shl asShl() -> q0
     boolean isShl() -> s2
-com.android.tools.r8.ir.code.Shr -> com.android.tools.r8.s.b.a1:
+com.android.tools.r8.ir.code.Shr -> com.android.tools.r8.s.b.e1:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
     int opcode() -> I2
     boolean isCommutative() -> N2
@@ -27846,12 +27869,12 @@
     1:1:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):33:33 -> g
     com.android.tools.r8.ir.code.Shr asShr() -> r0
     boolean isShr() -> t2
-com.android.tools.r8.ir.code.SingleConstant -> com.android.tools.r8.s.b.b1:
+com.android.tools.r8.ir.code.SingleConstant -> com.android.tools.r8.s.b.f1:
     int decodedValue() -> a
-com.android.tools.r8.ir.code.StackValue -> com.android.tools.r8.s.b.c1:
-    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo typeInfo -> r
-    boolean $assertionsDisabled -> s
-    int height -> q
+com.android.tools.r8.ir.code.StackValue -> com.android.tools.r8.s.b.g1:
+    boolean $assertionsDisabled -> q
+    int height -> r
+    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo typeInfo -> s
     1:1:void <clinit>():11:11 -> <clinit>
     1:4:void <init>(com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo,com.android.tools.r8.ir.analysis.type.TypeElement,int):17:20 -> <init>
     boolean isValueOnStack() -> S
@@ -27862,9 +27885,9 @@
     1:1:int getHeight():31:31 -> h0
     1:1:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo():35:35 -> i0
     1:1:java.lang.String toString():59:59 -> toString
-com.android.tools.r8.ir.code.StackValues -> com.android.tools.r8.s.b.d1:
-    boolean $assertionsDisabled -> r
-    com.android.tools.r8.ir.code.StackValue[] stackValues -> q
+com.android.tools.r8.ir.code.StackValues -> com.android.tools.r8.s.b.h1:
+    boolean $assertionsDisabled -> q
+    com.android.tools.r8.ir.code.StackValue[] stackValues -> r
     1:1:void <clinit>():14:14 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.code.StackValue[]):19:21 -> <init>
     boolean isValueOnStack() -> S
@@ -27872,8 +27895,8 @@
     1:1:void setNeedsRegister(boolean):35:35 -> a
     1:1:com.android.tools.r8.ir.code.StackValue[] getStackValues():25:25 -> h0
     1:10:java.lang.String toString():40:49 -> toString
-    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getType():59:59 -> w
-com.android.tools.r8.ir.code.StaticGet -> com.android.tools.r8.s.b.e1:
+    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getType():59:59 -> v
+com.android.tools.r8.ir.code.StaticGet -> com.android.tools.r8.s.b.i1:
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField):38:38 -> <init>
@@ -27901,36 +27924,30 @@
     66:80:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):73:87 -> a
     81:87:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):85:91 -> a
     88:88:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):148:148 -> a
-    89:89:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):158:158 -> a
-    90:90:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
-    90:90:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):158 -> a
-    91:91:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):148:148 -> a
-    91:91:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):142 -> a
-    91:91:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):158 -> a
-    92:92:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):183:183 -> a
-    93:93:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):208:208 -> a
-    94:97:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):213:213 -> a
-    98:98:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):220:220 -> a
-    99:99:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):225:225 -> a
-    100:100:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):235:235 -> a
-    101:101:boolean outTypeKnownToBeBoolean(java.util.Set):241:241 -> a
-    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):173:177 -> b
-    6:6:boolean lambda$instructionMayTriggerMethodInvocation$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):253:253 -> b
+    89:89:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):173:173 -> a
+    90:90:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):198:198 -> a
+    91:94:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):203:203 -> a
+    95:95:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):210:210 -> a
+    96:96:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):215:215 -> a
+    97:97:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):225:225 -> a
+    98:98:boolean outTypeKnownToBeBoolean(java.util.Set):231:231 -> a
+    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):163:167 -> b
+    6:6:boolean lambda$instructionMayTriggerMethodInvocation$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):243:243 -> b
     1:1:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):142:142 -> c
     2:2:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):148:148 -> c
     2:2:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):142 -> c
-    1:9:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):246:254 -> d
-    10:18:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):250:258 -> d
+    1:9:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):236:244 -> d
+    10:18:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):240:248 -> d
     com.android.tools.r8.ir.code.StaticGet asStaticGet() -> s0
-    1:1:java.lang.String toString():188:188 -> toString
+    1:1:java.lang.String toString():178:178 -> toString
     boolean isStaticFieldInstruction() -> u2
     boolean isStaticGet() -> v2
-com.android.tools.r8.ir.code.StaticPut -> com.android.tools.r8.s.b.f1:
+com.android.tools.r8.ir.code.StaticPut -> com.android.tools.r8.s.b.j1:
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():34:34 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField):37:37 -> <init>
     int maxInValueRegister() -> G2
-    1:1:int maxOutValueRegister():161:161 -> H2
+    1:1:int maxOutValueRegister():147:147 -> H2
     int opcode() -> I2
     1:2:com.android.tools.r8.ir.code.Value value():52:53 -> O2
     boolean instructionTypeCanThrow() -> T0
@@ -27949,49 +27966,45 @@
     86:86:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):128 -> a
     87:92:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):128:133 -> a
     93:93:java.lang.Boolean lambda$instructionMayHaveSideEffects$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):123:123 -> a
-    94:94:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):148:148 -> a
-    95:95:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    95:95:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):148 -> a
-    96:96:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):149:149 -> a
-    97:107:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):167:177 -> a
-    108:108:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):197:197 -> a
-    109:109:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):222:222 -> a
-    110:113:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):227:227 -> a
-    114:114:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):239:239 -> a
-    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):187:191 -> b
-    6:6:boolean lambda$instructionMayTriggerMethodInvocation$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):252:252 -> b
-    1:9:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):245:253 -> d
-    10:18:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):249:257 -> d
+    94:104:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):153:163 -> a
+    105:105:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):183:183 -> a
+    106:106:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):208:208 -> a
+    107:110:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):213:213 -> a
+    111:111:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):225:225 -> a
+    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):173:177 -> b
+    6:6:boolean lambda$instructionMayTriggerMethodInvocation$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):238:238 -> b
+    1:9:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):231:239 -> d
+    10:18:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):235:243 -> d
     com.android.tools.r8.ir.code.StaticPut asStaticPut() -> t0
-    1:1:java.lang.String toString():202:202 -> toString
+    1:1:java.lang.String toString():188:188 -> toString
     boolean isStaticFieldInstruction() -> u2
     boolean isStaticPut() -> w2
-com.android.tools.r8.ir.code.Store -> com.android.tools.r8.s.b.g1:
+com.android.tools.r8.ir.code.Store -> com.android.tools.r8.s.b.k1:
     boolean $assertionsDisabled -> h
-    1:1:void <clinit>():21:21 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.StackValue):24:24 -> <init>
-    1:1:int maxInValueRegister():58:58 -> G2
+    1:1:void <clinit>():22:22 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.StackValue):25:25 -> <init>
+    1:1:int maxInValueRegister():59:59 -> G2
     int maxOutValueRegister() -> H2
     int opcode() -> I2
-    1:1:com.android.tools.r8.ir.code.Value src():38:38 -> M2
+    1:1:com.android.tools.r8.ir.code.Value src():39:39 -> M2
     boolean hasInvariantOutType() -> N0
     1:307:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forStore():0:306 -> a
-    1:307:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):69 -> a
-    308:308:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):34:34 -> a
-    309:309:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):74:74 -> a
-    310:310:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):79:79 -> a
-    311:311:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):84:84 -> a
-    312:312:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):89:89 -> a
-    313:313:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):94:94 -> a
-    314:314:boolean canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):104:104 -> a
-    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):53:53 -> b
-    1:2:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):109:110 -> c
+    1:307:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):70 -> a
+    308:308:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):35:35 -> a
+    309:309:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):75:75 -> a
+    310:310:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):80:80 -> a
+    311:311:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):85:85 -> a
+    312:312:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):90:90 -> a
+    313:313:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):95:95 -> a
+    314:317:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):105:108 -> a
+    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54:54 -> b
+    1:2:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):113:114 -> c
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     com.android.tools.r8.ir.code.Store asStore() -> u0
     boolean isStore() -> x2
-com.android.tools.r8.ir.code.StringSwitch -> com.android.tools.r8.s.b.h1:
-    boolean $assertionsDisabled -> m
-    com.android.tools.r8.graph.DexString[] keys -> l
+com.android.tools.r8.ir.code.StringSwitch -> com.android.tools.r8.s.b.l1:
+    boolean $assertionsDisabled -> l
+    com.android.tools.r8.graph.DexString[] keys -> m
     1:1:void <clinit>():17:17 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexString[],int[],int):23:25 -> <init>
     1:1:int maxInValueRegister():119:119 -> G2
@@ -28014,7 +28027,7 @@
     6:11:java.lang.String toString():89:94 -> toString
     com.android.tools.r8.ir.code.StringSwitch asStringSwitch() -> v0
     boolean isStringSwitch() -> y2
-com.android.tools.r8.ir.code.Sub -> com.android.tools.r8.s.b.i1:
+com.android.tools.r8.ir.code.Sub -> com.android.tools.r8.s.b.m1:
     boolean $assertionsDisabled -> j
     1:1:void <clinit>():24:24 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):27:27 -> <init>
@@ -28047,7 +28060,7 @@
     1:3:boolean negativeFitsInDexInstruction(com.android.tools.r8.ir.code.Value):123:125 -> i
     com.android.tools.r8.ir.code.Sub asSub() -> w0
     boolean isSub() -> z2
-com.android.tools.r8.ir.code.Swap -> com.android.tools.r8.s.b.j1:
+com.android.tools.r8.ir.code.Swap -> com.android.tools.r8.s.b.n1:
     boolean $assertionsDisabled -> h
     1:1:void <clinit>():19:19 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):22:22 -> <init>
@@ -28066,10 +28079,10 @@
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):77:77 -> b
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
     1:6:void setOutValue(com.android.tools.r8.ir.code.Value):44:49 -> e
-com.android.tools.r8.ir.code.Switch -> com.android.tools.r8.s.b.k1:
-    int[] targetBlockIndices -> i
-    int fallthroughBlockIndex -> j
-    boolean $assertionsDisabled -> k
+com.android.tools.r8.ir.code.Switch -> com.android.tools.r8.s.b.o1:
+    boolean $assertionsDisabled -> i
+    int fallthroughBlockIndex -> k
+    int[] targetBlockIndices -> j
     1:1:void <clinit>():10:10 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.code.Value,int[],int):16:18 -> <init>
     boolean isSwitch() -> B2
@@ -28092,7 +28105,7 @@
     2:2:com.android.tools.r8.ir.code.BasicBlock targetBlock(int):35 -> d
     3:3:com.android.tools.r8.ir.code.BasicBlock targetBlock(int):35:35 -> d
     com.android.tools.r8.ir.code.Switch asSwitch() -> x0
-com.android.tools.r8.ir.code.Throw -> com.android.tools.r8.s.b.l1:
+com.android.tools.r8.ir.code.Throw -> com.android.tools.r8.s.b.p1:
     boolean $assertionsDisabled -> i
     1:1:void <clinit>():17:17 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value):20:20 -> <init>
@@ -28111,17 +28124,17 @@
     320:337:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):91:108 -> a
     1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):60:60 -> b
     com.android.tools.r8.ir.code.Throw asThrow() -> y0
-com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier -> com.android.tools.r8.s.b.n1:
+com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier -> com.android.tools.r8.s.b.r1:
     1:1:com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier create(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):16:16 -> a
     com.android.tools.r8.graph.DebugLocalInfo getLocalInfo() -> b
     com.android.tools.r8.ir.analysis.type.TypeElement getOutType() -> d
-com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier$1 -> com.android.tools.r8.s.b.m1:
+com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier$1 -> com.android.tools.r8.s.b.q1:
     com.android.tools.r8.ir.analysis.type.TypeElement val$type -> b
     com.android.tools.r8.graph.DebugLocalInfo val$local -> a
     1:1:void <init>(com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.ir.analysis.type.TypeElement):16:16 -> <init>
     1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():20:20 -> b
     1:1:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():25:25 -> d
-com.android.tools.r8.ir.code.Unop -> com.android.tools.r8.s.b.o1:
+com.android.tools.r8.ir.code.Unop -> com.android.tools.r8.s.b.s1:
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
     boolean isUnop() -> D2
     int maxInValueRegister() -> G2
@@ -28133,7 +28146,7 @@
     320:321:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):56:57 -> a
     322:322:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):62:62 -> a
     boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
-com.android.tools.r8.ir.code.Ushr -> com.android.tools.r8.s.b.p1:
+com.android.tools.r8.ir.code.Ushr -> com.android.tools.r8.s.b.t1:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
     boolean isUshr() -> E2
     int opcode() -> I2
@@ -28151,207 +28164,189 @@
     1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):58:58 -> d
     1:1:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):33:33 -> g
     com.android.tools.r8.ir.code.Ushr asUshr() -> z0
-com.android.tools.r8.ir.code.Value -> com.android.tools.r8.s.b.q1:
-    boolean $assertionsDisabled -> p
-    int needsRegister -> j
-    boolean isThis -> k
-    com.android.tools.r8.ir.analysis.type.TypeElement type -> n
-    com.android.tools.r8.ir.code.Value UNDEFINED -> o
-    int number -> a
-    com.android.tools.r8.ir.regalloc.LiveIntervals liveIntervals -> i
-    com.android.tools.r8.ir.code.Instruction definition -> b
-    com.android.tools.r8.ir.code.Value previousConsecutive -> h
-    java.util.Set uniqueUsers -> d
-    com.android.tools.r8.ir.code.Value nextConsecutive -> g
-    com.android.tools.r8.ir.code.Value$DebugData debugData -> m
-    java.util.Set uniquePhiUsers -> f
-    java.util.LinkedList phiUsers -> e
-    com.android.tools.r8.utils.LongInterval valueRange -> l
-    java.util.LinkedList users -> c
-    1:164:void <clinit>():52:215 -> <clinit>
-    1:1:void <init>(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):232:232 -> <init>
-    2:20:void <init>(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):218:236 -> <init>
-    1:1:boolean hasDebugUsers():502:502 -> A
-    1:1:boolean hasLocalInfo():320:320 -> B
-    1:1:boolean hasPhiUsers():506:506 -> C
-    1:1:boolean hasUsers():510:510 -> D
-    1:1:boolean hasUsersInfo():643:643 -> E
-    1:1:boolean hasValueRange():1030:1030 -> F
-    1:8:boolean internalComputeNeedsRegister():813:820 -> G
-    1:1:boolean isArgument():956:956 -> H
-    1:1:boolean isConstClass():914:914 -> I
-    1:1:boolean isConstNumber():890:890 -> J
-    1:1:boolean isConstString():898:898 -> K
-    1:1:boolean isConstant():918:918 -> L
-    1:1:boolean isDexItemBasedConstString():902:902 -> M
+com.android.tools.r8.ir.code.Value -> com.android.tools.r8.s.b.u1:
+    boolean isThis -> m
+    com.android.tools.r8.ir.regalloc.LiveIntervals liveIntervals -> k
+    int needsRegister -> l
+    com.android.tools.r8.ir.analysis.type.TypeElement type -> p
+    int number -> c
+    java.util.Set uniquePhiUsers -> h
+    com.android.tools.r8.ir.code.Value previousConsecutive -> j
+    com.android.tools.r8.ir.code.Value nextConsecutive -> i
+    com.android.tools.r8.ir.code.Instruction definition -> d
+    java.util.Set uniqueUsers -> f
+    com.android.tools.r8.utils.LongInterval valueRange -> n
+    java.util.LinkedList users -> e
+    com.android.tools.r8.ir.code.Value UNDEFINED -> a
+    java.util.LinkedList phiUsers -> g
+    com.android.tools.r8.ir.code.Value$DebugData debugData -> o
+    boolean $assertionsDisabled -> b
+    1:114:void <clinit>():49:162 -> <clinit>
+    1:1:void <init>(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):179:179 -> <init>
+    2:20:void <init>(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):165:183 -> <init>
+    1:1:boolean hasLocalInfo():267:267 -> A
+    1:1:boolean hasNonDebugUsers():407:407 -> B
+    1:1:boolean hasPhiUsers():411:411 -> C
+    1:1:boolean hasUsers():415:415 -> D
+    1:1:boolean hasUsersInfo():543:543 -> E
+    1:1:boolean hasValueRange():918:918 -> F
+    1:8:boolean internalComputeNeedsRegister():701:708 -> G
+    1:1:boolean isArgument():844:844 -> H
+    1:1:boolean isConstClass():802:802 -> I
+    1:1:boolean isConstNumber():778:778 -> J
+    1:1:boolean isConstString():786:786 -> K
+    1:1:boolean isConstant():806:806 -> L
+    1:1:boolean isDexItemBasedConstString():790:790 -> M
     boolean isFixedRegisterValue() -> N
-    1:1:boolean isLinked():409:409 -> O
-    1:3:boolean isNeverNull():950:952 -> P
-    1:1:boolean isThis():1022:1022 -> Q
-    1:1:boolean isUsed():551:551 -> R
-    2:2:int numberOfDebugUsers():543:543 -> R
-    2:2:boolean isUsed():551 -> R
+    1:1:boolean isLinked():310:310 -> O
+    1:3:boolean isNeverNull():838:840 -> P
+    1:1:boolean isThis():910:910 -> Q
+    1:1:boolean isUsed():456:456 -> R
+    2:2:int numberOfDebugUsers():448:448 -> R
+    2:2:boolean isUsed():456 -> R
     boolean isValueOnStack() -> S
-    1:3:boolean isZero():1115:1117 -> T
-    1:3:void markAsThis():1011:1013 -> U
-    1:1:void markNonDebugLocalRead():148:148 -> V
-    1:3:boolean needsRegister():797:799 -> W
-    1:1:int numberOfAllNonDebugUsers():539:539 -> X
-    1:1:int numberOfAllUsers():547 -> X
-    2:2:int numberOfDebugUsers():543:543 -> X
-    2:2:int numberOfAllUsers():547 -> X
-    1:5:int numberOfPhiUsers():531:535 -> Y
-    1:5:int numberOfUsers():523:527 -> Z
+    1:3:boolean isZero():1012:1014 -> T
+    1:3:void markAsThis():899:901 -> U
+    1:1:void markNonDebugLocalRead():145:145 -> V
+    1:3:boolean needsRegister():685:687 -> W
+    1:1:int numberOfAllNonDebugUsers():444:444 -> X
+    1:1:int numberOfAllUsers():452 -> X
+    2:2:int numberOfDebugUsers():448:448 -> X
+    2:2:int numberOfAllUsers():452 -> X
+    1:5:int numberOfPhiUsers():436:440 -> Y
+    1:5:int numberOfUsers():428:432 -> Z
     boolean isPhi() -> a
     boolean lambda$fullyRemovePhiUser$1(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Phi) -> a
     boolean lambda$fullyRemoveUser$0(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
-    1:14:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):56:69 -> a
-    15:25:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):58:58 -> a
-    26:85:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):74:133 -> a
-    86:87:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):128:129 -> a
-    88:89:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):123:124 -> a
-    90:91:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):118:119 -> a
-    92:96:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):110:114 -> a
-    97:98:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):105:106 -> a
-    99:100:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):100:101 -> a
-    101:117:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):79:95 -> a
-    118:122:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):92:96 -> a
-    123:123:boolean verifyCompatible(com.android.tools.r8.ir.code.ValueType):139:139 -> a
-    124:124:boolean verifyCompatible(com.android.tools.r8.ir.code.ValueTypeConstraint):143:143 -> a
-    124:124:boolean verifyCompatible(com.android.tools.r8.ir.code.ValueType):139 -> a
-    125:145:com.android.tools.r8.ir.code.Value getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.function.Predicate):277:297 -> a
-    146:147:com.android.tools.r8.ir.code.Value getSpecificAliasedValue(java.util.function.Predicate):303:304 -> a
-    148:150:void setLocalInfo(com.android.tools.r8.graph.DebugLocalInfo):324:326 -> a
-    151:152:void addDebugLocalEnd(com.android.tools.r8.ir.code.Instruction):378:379 -> a
-    153:154:com.android.tools.r8.ir.code.Value$DebugUse markEnd(com.android.tools.r8.ir.code.Value$DebugUse):383:384 -> a
-    153:154:void addDebugLocalEnd(com.android.tools.r8.ir.code.Instruction):379 -> a
-    155:163:com.android.tools.r8.ir.code.Value$DebugUse com.android.tools.r8.ir.code.Value$DebugUse.end():183:191 -> a
-    155:163:com.android.tools.r8.ir.code.Value$DebugUse markEnd(com.android.tools.r8.ir.code.Value$DebugUse):384 -> a
-    155:163:void addDebugLocalEnd(com.android.tools.r8.ir.code.Instruction):379 -> a
-    164:164:com.android.tools.r8.ir.code.Value$DebugUse com.android.tools.r8.ir.code.Value$DebugUse.end():189:189 -> a
-    164:164:com.android.tools.r8.ir.code.Value$DebugUse markEnd(com.android.tools.r8.ir.code.Value$DebugUse):384 -> a
-    164:164:void addDebugLocalEnd(com.android.tools.r8.ir.code.Instruction):379 -> a
-    165:165:com.android.tools.r8.ir.code.Value$DebugUse com.android.tools.r8.ir.code.Value$DebugUse.end():186:186 -> a
-    165:165:com.android.tools.r8.ir.code.Value$DebugUse markEnd(com.android.tools.r8.ir.code.Value$DebugUse):384 -> a
-    165:165:void addDebugLocalEnd(com.android.tools.r8.ir.code.Instruction):379 -> a
-    166:166:void addDebugLocalEnd(com.android.tools.r8.ir.code.Instruction):379:379 -> a
-    167:168:boolean onlyUsedInBlock(com.android.tools.r8.ir.code.BasicBlock):429:430 -> a
-    169:171:java.util.Set aliasedUsers(com.android.tools.r8.ir.code.AliasedValueConfiguration):458:460 -> a
-    172:179:void collectAliasedUsersViaAssume(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.Set,java.util.Set,java.util.Set):469:476 -> a
-    180:180:void collectAliasedUsersViaAssume(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.Set,java.util.Set,java.util.Set):475:475 -> a
-    181:182:void addPhiUser(com.android.tools.r8.ir.code.Phi):607:608 -> a
-    183:183:void addAffectedValuesTo(java.util.Set):664:664 -> a
-    184:189:void forEachAffectedValue(java.util.function.Consumer):668:673 -> a
-    190:193:void replaceSelectiveInstructionUsers(com.android.tools.r8.ir.code.Value,java.util.function.Predicate):709:712 -> a
-    194:221:void replaceSelectiveUsers(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Map):727:754 -> a
-    222:231:void replaceUserInDebugData(java.util.Map$Entry,com.android.tools.r8.ir.code.Value):761:770 -> a
-    232:244:com.android.tools.r8.ir.code.Value$DebugUse com.android.tools.r8.ir.code.Value$DebugUse.join(com.android.tools.r8.ir.code.Value$DebugUse,com.android.tools.r8.ir.code.Value$DebugUse):196:208 -> a
-    232:244:void replaceUserInDebugData(java.util.Map$Entry,com.android.tools.r8.ir.code.Value):770 -> a
-    245:245:void replaceUserInDebugData(java.util.Map$Entry,com.android.tools.r8.ir.code.Value):770:770 -> a
-    246:247:void setLiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):788:789 -> a
-    248:249:void setNeedsRegister(boolean):803:804 -> a
-    250:259:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):922:931 -> a
-    260:260:void setValueRange(com.android.tools.r8.utils.LongInterval):1026:1026 -> a
-    261:261:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):1058:1058 -> a
-    262:262:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate):1063:1063 -> a
-    262:262:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):1058 -> a
-    263:263:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate):1063:1063 -> a
-    264:291:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate,java.util.Set):1080:1107 -> a
-    292:293:void setType(com.android.tools.r8.ir.analysis.type.TypeElement):1126:1127 -> a
-    294:297:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1146:1146 -> a
-    305:306:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1154:1155 -> a
-    307:309:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1206:1208 -> a
-    310:310:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    310:310:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1209 -> a
-    311:323:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1210:1222 -> a
-    324:324:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    324:324:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1223 -> a
-    325:337:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1224:1236 -> a
-    338:338:boolean lambda$getDynamicLowerBoundType$5(com.android.tools.r8.ir.code.Value):1231:1231 -> a
-    1:15:boolean onlyDependsOnArgument():960:974 -> a0
-    16:16:boolean onlyDependsOnArgument():972:972 -> a0
-    1:2:void fullyRemovePhiUser(com.android.tools.r8.ir.code.Phi):617:618 -> b
-    3:4:void addDebugUser(com.android.tools.r8.ir.code.Instruction):622:623 -> b
-    5:7:java.util.Set affectedValues():658:660 -> b
-    8:16:void replaceDebugUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):775:783 -> b
-    17:17:boolean isDefinedByInstructionSatisfying(java.util.function.Predicate):935:935 -> b
-    18:40:boolean knownToBeBoolean(java.util.Set):985:1007 -> b
-    41:48:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1133:1140 -> b
-    49:80:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):1168:1199 -> b
-    81:81:boolean lambda$getDynamicUpperBoundType$3(com.android.tools.r8.ir.code.Value):1171:1171 -> b
-    1:1:com.android.tools.r8.ir.code.ValueType outType():881:881 -> b0
-    1:9:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):555:563 -> c
-    10:11:void addUser(com.android.tools.r8.ir.code.Instruction):578:579 -> c
-    12:13:void removePhiUser(com.android.tools.r8.ir.code.Phi):612:613 -> c
-    14:14:boolean lambda$getDynamicUpperBoundType$4(com.android.tools.r8.ir.code.Value):1178:1178 -> c
-    1:1:int requiredRegisters():312:312 -> c0
-    1:1:int compareTo(java.lang.Object):52:52 -> compareTo
-    2:2:int compareTo(com.android.tools.r8.ir.code.Value):842:842 -> compareTo
-    2:2:int compareTo(java.lang.Object):52 -> compareTo
-    boolean lambda$replaceSelectiveUsers$2(com.android.tools.r8.ir.code.Value) -> d
-    1:1:java.util.Set aliasedUsers():454:454 -> d
-    2:4:java.util.Set aliasedUsers(com.android.tools.r8.ir.code.AliasedValueConfiguration):458:460 -> d
-    2:4:java.util.Set aliasedUsers():454 -> d
-    5:6:void fullyRemoveUser(com.android.tools.r8.ir.code.Instruction):588:589 -> d
-    1:2:com.android.tools.r8.ir.code.Instruction singleUniqueUser():449:450 -> d0
+    1:14:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):53:66 -> a
+    15:25:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):55:55 -> a
+    26:85:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):71:130 -> a
+    86:87:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):125:126 -> a
+    88:89:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):120:121 -> a
+    90:91:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):115:116 -> a
+    92:96:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):107:111 -> a
+    97:98:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):102:103 -> a
+    99:100:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):97:98 -> a
+    101:117:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):76:92 -> a
+    118:122:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):89:93 -> a
+    123:123:boolean verifyCompatible(com.android.tools.r8.ir.code.ValueType):136:136 -> a
+    124:124:boolean verifyCompatible(com.android.tools.r8.ir.code.ValueTypeConstraint):140:140 -> a
+    124:124:boolean verifyCompatible(com.android.tools.r8.ir.code.ValueType):136 -> a
+    125:145:com.android.tools.r8.ir.code.Value getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.function.Predicate):224:244 -> a
+    146:147:com.android.tools.r8.ir.code.Value getSpecificAliasedValue(java.util.function.Predicate):250:251 -> a
+    148:150:void setLocalInfo(com.android.tools.r8.graph.DebugLocalInfo):271:273 -> a
+    151:153:void addDebugLocalEnd(com.android.tools.r8.ir.code.Instruction):283:285 -> a
+    154:155:boolean onlyUsedInBlock(com.android.tools.r8.ir.code.BasicBlock):330:331 -> a
+    156:158:java.util.Set aliasedUsers(com.android.tools.r8.ir.code.AliasedValueConfiguration):359:361 -> a
+    159:166:void collectAliasedUsersViaAssume(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.Set,java.util.Set,java.util.Set):370:377 -> a
+    167:167:void collectAliasedUsersViaAssume(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.Set,java.util.Set,java.util.Set):376:376 -> a
+    168:169:void addPhiUser(com.android.tools.r8.ir.code.Phi):512:513 -> a
+    170:170:void addAffectedValuesTo(java.util.Set):564:564 -> a
+    171:176:void forEachAffectedValue(java.util.function.Consumer):568:573 -> a
+    177:180:void replaceSelectiveInstructionUsers(com.android.tools.r8.ir.code.Value,java.util.function.Predicate):609:612 -> a
+    181:206:void replaceSelectiveUsers(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Map):627:652 -> a
+    207:207:void replaceUserInDebugData(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):661:661 -> a
+    207:207:void replaceSelectiveUsers(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Map):653 -> a
+    208:208:void replaceSelectiveUsers(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Map):654:654 -> a
+    209:210:void setLiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):676:677 -> a
+    211:212:void setNeedsRegister(boolean):691:692 -> a
+    213:213:int compareTo(com.android.tools.r8.ir.code.Value):730:730 -> a
+    214:223:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):810:819 -> a
+    224:224:void setValueRange(com.android.tools.r8.utils.LongInterval):914:914 -> a
+    225:225:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):946:946 -> a
+    226:226:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate):951:951 -> a
+    226:226:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):946 -> a
+    227:263:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate,java.util.Set):968:1004 -> a
+    264:265:void setType(com.android.tools.r8.ir.analysis.type.TypeElement):1023:1024 -> a
+    266:269:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1043:1043 -> a
+    277:278:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1051:1052 -> a
+    279:281:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1112:1114 -> a
+    282:282:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    282:282:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1115 -> a
+    283:295:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1116:1128 -> a
+    296:296:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    296:296:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1129 -> a
+    297:310:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1130:1143 -> a
+    1:15:boolean onlyDependsOnArgument():848:862 -> a0
+    16:16:boolean onlyDependsOnArgument():860:860 -> a0
+    1:2:void addUser(com.android.tools.r8.ir.code.Instruction):483:484 -> b
+    3:4:void fullyRemovePhiUser(com.android.tools.r8.ir.code.Phi):522:523 -> b
+    5:7:java.util.Set affectedValues():558:560 -> b
+    8:11:void replaceDebugUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):668:671 -> b
+    12:12:boolean isDefinedByInstructionSatisfying(java.util.function.Predicate):823:823 -> b
+    13:35:boolean knownToBeBoolean(java.util.Set):873:895 -> b
+    36:43:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1030:1037 -> b
+    44:84:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):1065:1105 -> b
+    85:85:boolean lambda$getDynamicLowerBoundType$5(com.android.tools.r8.ir.code.Value):1138:1138 -> b
+    86:86:boolean com.android.tools.r8.ir.code.Instruction.isAssumeWithDynamicTypeAssumption():716:716 -> b
+    86:86:boolean lambda$getDynamicLowerBoundType$5(com.android.tools.r8.ir.code.Value):1138 -> b
+    1:1:com.android.tools.r8.ir.code.ValueType outType():769:769 -> b0
+    1:9:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):460:468 -> c
+    10:11:void fullyRemoveUser(com.android.tools.r8.ir.code.Instruction):493:494 -> c
+    12:13:void removePhiUser(com.android.tools.r8.ir.code.Phi):517:518 -> c
+    14:14:boolean lambda$getDynamicUpperBoundType$3(com.android.tools.r8.ir.code.Value):1069:1069 -> c
+    1:1:int requiredRegisters():259:259 -> c0
+    1:1:int compareTo(java.lang.Object):49:49 -> compareTo
+    2:2:int compareTo(com.android.tools.r8.ir.code.Value):730:730 -> compareTo
+    2:2:int compareTo(java.lang.Object):49 -> compareTo
+    1:1:java.util.Set aliasedUsers():355:355 -> d
+    2:4:java.util.Set aliasedUsers(com.android.tools.r8.ir.code.AliasedValueConfiguration):359:361 -> d
+    2:4:java.util.Set aliasedUsers():355 -> d
+    5:9:void removeDebugUser(com.android.tools.r8.ir.code.Instruction):535:539 -> d
+    10:10:boolean lambda$getDynamicUpperBoundType$4(com.android.tools.r8.ir.code.Value):1083:1083 -> d
+    1:2:com.android.tools.r8.ir.code.Instruction singleUniqueUser():350:351 -> d0
     com.android.tools.r8.ir.code.FixedRegisterValue asFixedRegisterValue() -> e
-    1:4:void linkTo(com.android.tools.r8.ir.code.Value):388:391 -> e
-    5:9:void removeDebugUser(com.android.tools.r8.ir.code.Instruction):635:639 -> e
-    1:4:java.util.Set uniquePhiUsers():487:490 -> e0
-    1:2:void removeUser(com.android.tools.r8.ir.code.Instruction):583:584 -> f
-    3:4:void clearUsers():593:594 -> f
-    5:6:void clearPhiUsers():602:603 -> f
-    5:6:void clearUsers():595 -> f
-    7:8:void clearUsers():596:597 -> f
-    9:10:void replacePhiUsers(com.android.tools.r8.ir.code.Value):699:700 -> f
-    11:12:void clearPhiUsers():602:603 -> f
-    11:12:void replacePhiUsers(com.android.tools.r8.ir.code.Value):702 -> f
-    1:4:java.util.Set uniqueUsers():438:441 -> f0
+    boolean lambda$replaceSelectiveUsers$2(com.android.tools.r8.ir.code.Value) -> e
+    1:2:void removeUser(com.android.tools.r8.ir.code.Instruction):488:489 -> e
+    1:4:java.util.Set uniquePhiUsers():388:391 -> e0
+    1:4:void linkTo(com.android.tools.r8.ir.code.Value):289:292 -> f
+    5:6:void clearUsers():498:499 -> f
+    7:8:void clearPhiUsers():507:508 -> f
+    7:8:void clearUsers():500 -> f
+    9:10:void clearUsers():501:502 -> f
+    1:4:java.util.Set uniqueUsers():339:342 -> f0
     com.android.tools.r8.ir.code.Phi asPhi() -> g
-    1:13:void replaceUsers(com.android.tools.r8.ir.code.Value):680:692 -> g
-    1:2:boolean usedInMonitorOperation():569:570 -> g0
-    1:1:com.android.tools.r8.ir.code.BasicBlock getBlock():1159:1159 -> h
-    1:1:int hashCode():847:847 -> hashCode
-    1:6:void clearUsersInfo():647:652 -> i
-    1:2:void computeNeedsRegister():808:809 -> j
-    1:1:java.util.Set debugUsers():494:494 -> k
-    1:2:com.android.tools.r8.ir.code.Phi firstPhiUser():482:483 -> l
-    1:1:com.android.tools.r8.ir.code.Value getAliasedValue():268:268 -> m
-    2:2:com.android.tools.r8.ir.code.Value getAliasedValue():267:267 -> m
-    1:2:com.android.tools.r8.ir.code.ConstInstruction getConstInstruction():885:886 -> n
-    1:7:java.util.List getDebugLocalEnds():355:361 -> o
-    1:7:java.util.List getDebugLocalStarts():342:348 -> p
-    1:2:com.android.tools.r8.ir.code.Instruction getDefinition():248:249 -> q
-    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals getLiveIntervals():793:793 -> r
-    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():316:316 -> s
-    1:1:com.android.tools.r8.ir.code.Value getNextConsecutive():421:421 -> t
-    1:26:java.lang.String toString():852:877 -> toString
-    1:1:int getNumber():308:308 -> u
-    1:1:com.android.tools.r8.ir.code.Value getPreviousConsecutive():425:425 -> v
-    1:1:com.android.tools.r8.ir.code.Value getStartOfConsecutive():414 -> v
-    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getType():1163:1163 -> w
-    1:11:com.android.tools.r8.utils.LongInterval getValueRange():1042:1052 -> x
-    1:1:boolean hasAliasedValue():253:253 -> y
-    1:1:boolean hasAnyUsers():498:498 -> z
-com.android.tools.r8.ir.code.Value$DebugData -> com.android.tools.r8.s.b.q1$a:
-    java.util.Map users -> b
+    1:2:void replacePhiUsers(com.android.tools.r8.ir.code.Value):599:600 -> g
+    3:4:void clearPhiUsers():507:508 -> g
+    3:4:void replacePhiUsers(com.android.tools.r8.ir.code.Value):602 -> g
+    1:2:boolean usedInMonitorOperation():474:475 -> g0
+    1:8:void replaceUsers(com.android.tools.r8.ir.code.Value):580:587 -> h
+    9:9:void replaceUserInDebugData(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):661:661 -> h
+    9:9:void replaceUsers(com.android.tools.r8.ir.code.Value):588 -> h
+    10:12:void replaceUsers(com.android.tools.r8.ir.code.Value):590:592 -> h
+    13:13:com.android.tools.r8.ir.code.BasicBlock getBlock():1056:1056 -> h
+    1:1:int hashCode():735:735 -> hashCode
+    1:6:void clearUsersInfo():547:552 -> i
+    1:2:void computeNeedsRegister():696:697 -> j
+    1:1:java.util.Set debugUsers():395:395 -> k
+    1:2:com.android.tools.r8.ir.code.Phi firstPhiUser():383:384 -> l
+    1:1:com.android.tools.r8.ir.code.Value getAliasedValue():215:215 -> m
+    2:2:com.android.tools.r8.ir.code.Value getAliasedValue():214:214 -> m
+    1:2:com.android.tools.r8.ir.code.ConstInstruction getConstInstruction():773:774 -> n
+    1:3:java.util.Set getDebugLocalEnds():277:279 -> o
+    1:2:com.android.tools.r8.ir.code.Instruction getDefinition():195:196 -> p
+    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals getLiveIntervals():681:681 -> q
+    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():263:263 -> r
+    1:1:com.android.tools.r8.ir.code.Value getNextConsecutive():322:322 -> s
+    1:1:int getNumber():255:255 -> t
+    1:26:java.lang.String toString():740:765 -> toString
+    1:1:com.android.tools.r8.ir.code.Value getPreviousConsecutive():326:326 -> u
+    1:1:com.android.tools.r8.ir.code.Value getStartOfConsecutive():315 -> u
+    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getType():1060:1060 -> v
+    1:11:com.android.tools.r8.utils.LongInterval getValueRange():930:940 -> w
+    1:1:boolean hasAliasedValue():200:200 -> x
+    1:1:boolean hasAnyUsers():399:399 -> y
+    1:1:boolean hasDebugUsers():403:403 -> z
+com.android.tools.r8.ir.code.Value$DebugData -> com.android.tools.r8.s.b.u1$a:
     com.android.tools.r8.graph.DebugLocalInfo local -> a
-    1:1:void <init>(com.android.tools.r8.graph.DebugLocalInfo):158:158 -> <init>
-    2:5:void <init>(com.android.tools.r8.graph.DebugLocalInfo):156:159 -> <init>
-com.android.tools.r8.ir.code.Value$DebugUse -> com.android.tools.r8.s.b.q1$b:
-    com.android.tools.r8.ir.code.Value$DebugUse START -> b
-    com.android.tools.r8.ir.code.Value$DebugUse[] $VALUES -> e
-    com.android.tools.r8.ir.code.Value$DebugUse LIVE -> a
-    com.android.tools.r8.ir.code.Value$DebugUse LIVE_FINAL -> d
-    com.android.tools.r8.ir.code.Value$DebugUse END -> c
-    boolean $assertionsDisabled -> f
-    1:3:void <clinit>():166:166 -> <clinit>
-    1:1:void <init>(java.lang.String,int):166:166 -> <init>
-com.android.tools.r8.ir.code.ValueNumberGenerator -> com.android.tools.r8.s.b.r1:
+    java.util.Set users -> b
+    1:1:void <init>(com.android.tools.r8.graph.DebugLocalInfo):155:155 -> <init>
+    2:5:void <init>(com.android.tools.r8.graph.DebugLocalInfo):153:156 -> <init>
+com.android.tools.r8.ir.code.ValueNumberGenerator -> com.android.tools.r8.s.b.v1:
     int nextValueNumber -> a
     1:2:void <init>():6:7 -> <init>
     1:1:int next():10:10 -> a
-com.android.tools.r8.ir.code.ValueType -> com.android.tools.r8.s.b.s1:
+com.android.tools.r8.ir.code.ValueType -> com.android.tools.r8.s.b.w1:
     com.android.tools.r8.ir.code.ValueType DOUBLE -> e
     com.android.tools.r8.ir.code.ValueType FLOAT -> c
     com.android.tools.r8.ir.code.ValueType LONG -> d
@@ -28381,7 +28376,7 @@
     40:55:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):106:121 -> a
     1:1:boolean isWide():29:29 -> b
     1:1:int requiredRegisters():33:33 -> c
-com.android.tools.r8.ir.code.ValueTypeConstraint -> com.android.tools.r8.s.b.t1:
+com.android.tools.r8.ir.code.ValueTypeConstraint -> com.android.tools.r8.s.b.x1:
     com.android.tools.r8.ir.code.ValueTypeConstraint FLOAT -> c
     com.android.tools.r8.ir.code.ValueTypeConstraint INT -> b
     com.android.tools.r8.ir.code.ValueTypeConstraint OBJECT -> a
@@ -28415,9 +28410,9 @@
     58:82:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):133:157 -> a
     83:83:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):137:137 -> a
     1:1:int requiredRegisters():42:42 -> b
-com.android.tools.r8.ir.code.WideConstant -> com.android.tools.r8.s.b.u1:
+com.android.tools.r8.ir.code.WideConstant -> com.android.tools.r8.s.b.y1:
     long decodedValue() -> a
-com.android.tools.r8.ir.code.Xor -> com.android.tools.r8.s.b.v1:
+com.android.tools.r8.ir.code.Xor -> com.android.tools.r8.s.b.z1:
     1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):18:18 -> <init>
     com.android.tools.r8.ir.code.Xor asXor() -> A0
     boolean isXor() -> F2
@@ -28436,9 +28431,9 @@
     2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):68:68 -> c
     1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):53:53 -> d
 com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver -> com.android.tools.r8.ir.conversion.c:
-    java.util.Map unresolvedPayload -> a
-    java.util.Map payloadToData -> b
-    boolean $assertionsDisabled -> c
+    java.util.Map unresolvedPayload -> b
+    java.util.Map payloadToData -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:10:void <init>():15:24 -> <init>
     1:7:void addPayloadUser(com.android.tools.r8.code.FillArrayData):27:33 -> a
@@ -28455,9 +28450,9 @@
     1:1:void <init>():17:17 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver$1):17:17 -> <init>
 com.android.tools.r8.ir.conversion.CallGraph -> com.android.tools.r8.ir.conversion.d:
-    com.android.tools.r8.ir.conversion.CallGraphBuilderBase$CycleEliminator$CycleEliminationResult cycleEliminationResult -> b
-    java.util.Set nodes -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.ir.conversion.CallGraphBuilderBase$CycleEliminator$CycleEliminationResult cycleEliminationResult -> c
+    java.util.Set nodes -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():37:37 -> <clinit>
     1:1:void <init>(java.util.Set):258:258 -> <init>
     2:4:void <init>(java.util.Set,com.android.tools.r8.ir.conversion.CallGraphBuilderBase$CycleEliminator$CycleEliminationResult):261:263 -> <init>
@@ -28468,13 +28463,13 @@
     5:17:com.android.tools.r8.utils.collections.SortedProgramMethodSet extractNodes(java.util.function.Predicate,java.util.function.Consumer):290:302 -> a
     1:1:com.android.tools.r8.utils.collections.SortedProgramMethodSet extractRoots():286:286 -> b
 com.android.tools.r8.ir.conversion.CallGraph$Node -> com.android.tools.r8.ir.conversion.d$a:
-    java.util.Set callees -> c
-    java.util.Set callers -> d
-    java.util.Set readers -> e
-    java.util.Set writers -> f
-    boolean $assertionsDisabled -> g
-    int numberOfCallSites -> b
-    com.android.tools.r8.graph.ProgramMethod method -> a
+    java.util.Set writers -> g
+    java.util.Set callees -> d
+    java.util.Set callers -> e
+    java.util.Set readers -> f
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.ProgramMethod method -> b
+    int numberOfCallSites -> c
     1:1:void <clinit>():39:39 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.ProgramMethod):60:60 -> <init>
     2:19:void <init>(com.android.tools.r8.graph.ProgramMethod):44:61 -> <init>
@@ -28539,11 +28534,11 @@
     4:6:boolean verifyAllMethodsWithCodeExists():39:41 -> a
     1:1:void processMethod(com.android.tools.r8.graph.ProgramMethod):34:34 -> b
 com.android.tools.r8.ir.conversion.CallGraphBuilderBase -> com.android.tools.r8.ir.conversion.g:
-    java.util.Map nodes -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map possibleProgramTargetsCache -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.FieldAccessInfoCollection fieldAccessInfoCollection -> b
+    java.util.Map nodes -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    java.util.Map possibleProgramTargetsCache -> e
+    com.android.tools.r8.graph.FieldAccessInfoCollection fieldAccessInfoCollection -> c
     1:1:void <clinit>():50:50 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):58:58 -> <init>
     2:8:void <init>(com.android.tools.r8.graph.AppView):54:60 -> <init>
@@ -28566,15 +28561,15 @@
     1:1:com.android.tools.r8.graph.FieldAccessInfoCollection access$100(com.android.tools.r8.ir.conversion.CallGraphBuilderBase):50:50 -> b
 com.android.tools.r8.ir.conversion.CallGraphBuilderBase$1 -> com.android.tools.r8.ir.conversion.f:
 com.android.tools.r8.ir.conversion.CallGraphBuilderBase$CycleEliminator -> com.android.tools.r8.ir.conversion.g$a:
-    java.util.Map stackEntryInfo -> b
-    java.util.Deque writerStack -> c
-    java.util.Deque stack -> a
-    boolean $assertionsDisabled -> i
-    java.util.Set marked -> d
-    java.util.LinkedHashSet revisit -> h
-    java.util.Map calleesToBeRemoved -> e
-    java.util.Map writersToBeRemoved -> f
-    java.util.Map removedCallEdges -> g
+    java.util.Deque writerStack -> d
+    java.util.Deque stack -> b
+    java.util.Map stackEntryInfo -> c
+    java.util.Set marked -> e
+    java.util.LinkedHashSet revisit -> i
+    boolean $assertionsDisabled -> a
+    java.util.Map calleesToBeRemoved -> f
+    java.util.Map writersToBeRemoved -> g
+    java.util.Map removedCallEdges -> h
     1:1:void <clinit>():382:382 -> <clinit>
     1:80:void <init>():382:461 -> <init>
     1:2:com.android.tools.r8.ir.conversion.CallGraphBuilderBase$CycleEliminator$CycleEliminationResult breakCycles(java.util.Collection):468:469 -> a
@@ -28664,15 +28659,15 @@
     boolean isIterator() -> c
     boolean isNode() -> d
 com.android.tools.r8.ir.conversion.CallGraphBuilderBase$InvokeExtractor -> com.android.tools.r8.ir.conversion.g$b:
-    com.android.tools.r8.ir.conversion.CallGraph$Node currentMethod -> a
-    com.android.tools.r8.ir.conversion.CallGraphBuilderBase this$0 -> c
-    java.util.function.Predicate targetTester -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.ir.conversion.CallGraph$Node currentMethod -> b
+    com.android.tools.r8.ir.conversion.CallGraphBuilderBase this$0 -> d
+    java.util.function.Predicate targetTester -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():108:108 -> <clinit>
     1:4:void <init>(com.android.tools.r8.ir.conversion.CallGraphBuilderBase,com.android.tools.r8.ir.conversion.CallGraph$Node,java.util.function.Predicate):113:116 -> <init>
     1:3:void addClassInitializerTarget(com.android.tools.r8.graph.DexProgramClass):120:122 -> a
     4:5:void addClassInitializerTarget(com.android.tools.r8.graph.DexType):127:128 -> a
-    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     6:6:void addClassInitializerTarget(com.android.tools.r8.graph.DexType):128 -> a
     7:9:void addClassInitializerTarget(com.android.tools.r8.graph.DexType):128:130 -> a
     10:17:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):135:142 -> a
@@ -28687,7 +28682,7 @@
     51:57:void processInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):185:191 -> a
     58:62:void processInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):175:179 -> a
     63:64:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):198:199 -> a
-    65:65:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    65:65:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     65:65:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):199 -> a
     66:115:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):201:250 -> a
     116:120:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$processInvokeWithDynamicDispatch$2(boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):217:221 -> a
@@ -28695,7 +28690,7 @@
     128:129:void lambda$processInvokeWithDynamicDispatch$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):228:229 -> a
     130:132:void lambda$processInvokeWithDynamicDispatch$1(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.LookupLambdaTarget):235:237 -> a
     133:142:void processFieldRead(com.android.tools.r8.graph.DexField):256:265 -> a
-    143:143:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    143:143:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     143:143:void processFieldRead(com.android.tools.r8.graph.DexField):265 -> a
     144:144:void processFieldRead(com.android.tools.r8.graph.DexField):265:265 -> a
     145:145:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
@@ -28708,7 +28703,7 @@
     1:1:void registerCallSite(com.android.tools.r8.graph.DexCallSite):377:377 -> registerCallSite
     1:1:void processInitClass(com.android.tools.r8.graph.DexType):294:294 -> registerInitClass
     1:1:boolean registerInitClass(com.android.tools.r8.graph.DexType):304 -> registerInitClass
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> registerInitClass
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> registerInitClass
     2:2:void processInitClass(com.android.tools.r8.graph.DexType):294 -> registerInitClass
     2:2:boolean registerInitClass(com.android.tools.r8.graph.DexType):304 -> registerInitClass
     3:8:void processInitClass(com.android.tools.r8.graph.DexType):294:299 -> registerInitClass
@@ -28742,24 +28737,24 @@
     1:1:com.android.tools.r8.ir.conversion.CallSiteInformation$EmptyCallSiteInformation access$000():32:32 -> a
     boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod) -> b
 com.android.tools.r8.ir.conversion.CfBuilder -> com.android.tools.r8.ir.conversion.l:
-    com.android.tools.r8.ir.code.Position currentPosition -> h
-    java.util.Map newInstanceLabels -> q
-    java.util.List thisInitializers -> p
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.code.BasicBlock pendingFrame -> l
-    boolean pendingLocalChanges -> k
-    java.util.Map initializers -> o
-    com.android.tools.r8.ir.code.IRCode code -> c
-    boolean $assertionsDisabled -> r
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap openLocalVariables -> n
-    java.util.Map labels -> d
-    com.android.tools.r8.cf.CfRegisterAllocator registerAllocator -> g
-    java.util.List instructions -> f
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap pendingLocals -> j
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap emittedLocals -> i
-    java.util.Set emittedLabels -> e
-    com.android.tools.r8.graph.DexEncodedMethod method -> b
-    java.util.List localVariablesTable -> m
+    java.util.List thisInitializers -> q
+    java.util.Map newInstanceLabels -> r
+    com.android.tools.r8.ir.code.Position currentPosition -> i
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.code.IRCode code -> d
+    boolean pendingLocalChanges -> l
+    java.util.Map initializers -> p
+    com.android.tools.r8.ir.code.BasicBlock pendingFrame -> m
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap openLocalVariables -> o
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap pendingLocals -> k
+    com.android.tools.r8.cf.CfRegisterAllocator registerAllocator -> h
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap emittedLocals -> j
+    java.util.Set emittedLabels -> f
+    com.android.tools.r8.graph.DexEncodedMethod method -> c
+    java.util.List instructions -> g
+    boolean $assertionsDisabled -> a
+    java.util.Map labels -> e
+    java.util.List localVariablesTable -> n
     1:1:void <clinit>():69:69 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):125:125 -> <init>
     2:46:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):84:128 -> <init>
@@ -28769,7 +28764,7 @@
     22:24:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover):133:135 -> a
     25:37:void rewriteNots():226:238 -> a
     25:37:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover):136 -> a
-    38:38:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    38:38:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     38:38:void rewriteNots():238 -> a
     38:38:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover):136 -> a
     39:47:void rewriteNots():239:247 -> a
@@ -28867,7 +28862,7 @@
     352:352:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover):165:165 -> a
     353:360:boolean verifyInvokeInterface(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.AppView):170:177 -> a
     353:360:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover):165 -> a
-    361:361:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    361:361:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     361:361:boolean verifyInvokeInterface(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.AppView):177 -> a
     361:361:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover):165 -> a
     362:362:boolean verifyInvokeInterface(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.AppView):178:178 -> a
@@ -28894,36 +28889,36 @@
     32:32:int getLocalRegister(com.android.tools.r8.ir.code.Value):642:642 -> b
 com.android.tools.r8.ir.conversion.CfBuilder$1 -> com.android.tools.r8.ir.conversion.j:
 com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker -> com.android.tools.r8.ir.conversion.k:
-    int height -> b
-    boolean $assertionsDisabled -> c
-    int maxHeight -> a
+    boolean $assertionsDisabled -> a
+    int maxHeight -> b
+    int height -> c
     1:1:void <clinit>():100:100 -> <clinit>
     1:3:void <init>():100:102 -> <init>
     4:4:void <init>(com.android.tools.r8.ir.conversion.CfBuilder$1):100:100 -> <init>
     1:3:void push(com.android.tools.r8.ir.code.Value):109:111 -> a
 com.android.tools.r8.ir.conversion.CfSourceCode -> com.android.tools.r8.ir.conversion.o:
-    int currentInstructionIndex -> o
-    com.android.tools.r8.graph.CfCode code -> h
-    com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo currentBlockInfo -> a
-    boolean inPrelude -> p
-    com.android.tools.r8.graph.ProgramMethod method -> i
-    boolean $assertionsDisabled -> v
-    com.android.tools.r8.utils.InternalOutputMode internalOutputMode -> u
-    com.android.tools.r8.ir.code.Monitor monitorEnter -> e
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap incomingState -> s
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap outgoingLocals -> r
-    com.android.tools.r8.origin.Origin origin -> j
-    com.android.tools.r8.graph.AppView appView -> k
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap incomingLocals -> q
-    com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList cachedLocalVariableList -> n
-    com.android.tools.r8.ir.conversion.CfState state -> f
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelOffsets -> l
-    com.android.tools.r8.ir.code.CanonicalPositions canonicalPositions -> t
-    java.util.List localVariables -> g
-    boolean hasExitingInstruction -> b
-    boolean needsGeneratedMethodSynchronization -> c
-    boolean currentlyGeneratingMethodSynchronization -> d
-    com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList cachedTryHandlerList -> m
+    com.android.tools.r8.graph.CfCode code -> i
+    com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo currentBlockInfo -> b
+    com.android.tools.r8.graph.ProgramMethod method -> j
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap incomingState -> t
+    com.android.tools.r8.utils.InternalOutputMode internalOutputMode -> v
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap outgoingLocals -> s
+    com.android.tools.r8.origin.Origin origin -> k
+    com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList cachedLocalVariableList -> o
+    boolean inPrelude -> q
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap incomingLocals -> r
+    com.android.tools.r8.graph.AppView appView -> l
+    com.android.tools.r8.ir.conversion.CfState state -> g
+    com.android.tools.r8.ir.code.Monitor monitorEnter -> f
+    boolean currentlyGeneratingMethodSynchronization -> e
+    java.util.List localVariables -> h
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelOffsets -> m
+    com.android.tools.r8.ir.code.CanonicalPositions canonicalPositions -> u
+    boolean $assertionsDisabled -> a
+    boolean hasExitingInstruction -> c
+    com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList cachedTryHandlerList -> n
+    int currentInstructionIndex -> p
+    boolean needsGeneratedMethodSynchronization -> d
     1:1:void <clinit>():56:56 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.CfCode,java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.AppView):227:227 -> <init>
     2:193:void <init>(com.android.tools.r8.graph.CfCode,java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.AppView):59:250 -> <init>
@@ -28934,7 +28929,7 @@
     1:1:int instructionCount():267:267 -> a
     2:6:boolean canThrowHelper(com.android.tools.r8.cf.code.CfInstruction):295:299 -> a
     7:9:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):304:306 -> a
-    10:10:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    10:10:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     10:10:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):306 -> a
     11:13:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):306:306 -> a
     15:39:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):308:332 -> a
@@ -29075,18 +29070,18 @@
     1:4:void <init>(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):141:144 -> <init>
     1:19:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList compute(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):154:172 -> a
 com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList -> com.android.tools.r8.ir.conversion.n:
-    java.util.List guards -> c
-    boolean $assertionsDisabled -> e
-    int endOffset -> b
-    int startOffset -> a
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList offsets -> d
+    java.util.List guards -> d
+    boolean $assertionsDisabled -> a
+    int startOffset -> b
+    int endOffset -> c
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList offsets -> e
     1:1:void <clinit>():66:66 -> <clinit>
     1:5:void <init>(int,int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):73:77 -> <init>
     1:2:boolean isEmpty():85:86 -> a
 com.android.tools.r8.ir.conversion.CfState -> com.android.tools.r8.ir.conversion.t:
-    com.android.tools.r8.ir.conversion.CfState$Snapshot current -> a
-    com.android.tools.r8.ir.code.Position position -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.ir.conversion.CfState$Snapshot current -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.Position position -> c
     1:1:void <clinit>():12:12 -> <clinit>
     1:1:void <init>(com.android.tools.r8.origin.Origin):72:72 -> <init>
     1:1:void buildPrelude(com.android.tools.r8.ir.code.Position):79:79 -> a
@@ -29119,9 +29114,9 @@
     1:1:java.lang.String toString():225:225 -> toString
 com.android.tools.r8.ir.conversion.CfState$1 -> com.android.tools.r8.ir.conversion.p:
 com.android.tools.r8.ir.conversion.CfState$BaseSnapshot -> com.android.tools.r8.ir.conversion.q:
-    com.android.tools.r8.ir.conversion.CfState$SlotType[] locals -> c
-    com.android.tools.r8.ir.conversion.CfState$SlotType[] stack -> d
-    boolean $assertionsDisabled -> e
+    com.android.tools.r8.ir.conversion.CfState$SlotType[] locals -> d
+    com.android.tools.r8.ir.conversion.CfState$SlotType[] stack -> e
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():309:309 -> <clinit>
     1:3:void <init>(int,int):318:320 -> <init>
     4:5:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):324:325 -> <init>
@@ -29142,8 +29137,8 @@
     1:1:int stackHeight():350:350 -> d
     1:15:java.lang.String toString():395:409 -> toString
 com.android.tools.r8.ir.conversion.CfState$Pop -> com.android.tools.r8.ir.conversion.r:
-    int stackHeight -> c
-    boolean $assertionsDisabled -> d
+    int stackHeight -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():452:452 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):457:459 -> <init>
     1:2:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):469:470 -> b
@@ -29151,8 +29146,8 @@
     1:1:int stackHeight():464:464 -> d
     1:1:java.lang.String toString():480:480 -> toString
 com.android.tools.r8.ir.conversion.CfState$Push -> com.android.tools.r8.ir.conversion.s:
-    com.android.tools.r8.ir.conversion.CfState$Slot slot -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.ir.conversion.CfState$Slot slot -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():413:413 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$SlotType):418:420 -> <init>
     1:3:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):440:442 -> a
@@ -29164,11 +29159,11 @@
     1:1:int stackHeight():425:425 -> d
     1:1:java.lang.String toString():448:448 -> toString
 com.android.tools.r8.ir.conversion.CfState$Slot -> com.android.tools.r8.ir.conversion.t$a:
-    com.android.tools.r8.ir.conversion.CfState$SlotType slotType -> d
-    com.android.tools.r8.ir.code.ValueType type -> b
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.DexType preciseType -> c
-    int register -> a
+    com.android.tools.r8.ir.code.ValueType type -> c
+    com.android.tools.r8.ir.conversion.CfState$SlotType slotType -> e
+    com.android.tools.r8.graph.DexType preciseType -> d
+    boolean $assertionsDisabled -> a
+    int register -> b
     1:1:void <clinit>():228:228 -> <clinit>
     1:1:void <init>(int,com.android.tools.r8.ir.conversion.CfState$SlotType,com.android.tools.r8.ir.conversion.CfState$1):228:228 -> <init>
     2:6:void <init>(int,com.android.tools.r8.ir.conversion.CfState$SlotType):240:244 -> <init>
@@ -29208,8 +29203,8 @@
     1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():286:286 -> c
     1:1:int stackHeight():274:274 -> d
 com.android.tools.r8.ir.conversion.CfState$Write -> com.android.tools.r8.ir.conversion.y:
-    com.android.tools.r8.ir.conversion.CfState$Slot slot -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.ir.conversion.CfState$Slot slot -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():484:484 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,int,com.android.tools.r8.ir.conversion.CfState$SlotType):489:491 -> <init>
     1:1:com.android.tools.r8.ir.conversion.CfState$Slot getLocal(int):501:501 -> a
@@ -29219,21 +29214,21 @@
 com.android.tools.r8.ir.conversion.CodeOptimization -> com.android.tools.r8.ir.conversion.z:
     void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId) -> a
 com.android.tools.r8.ir.conversion.DexBuilder -> com.android.tools.r8.ir.conversion.K:
-    boolean hasBackwardsBranch -> m
-    boolean $assertionsDisabled -> o
-    int outRegisterCount -> l
-    int inRegisterCount -> k
-    int minOffset -> h
-    com.android.tools.r8.utils.InternalOptions options -> c
-    com.android.tools.r8.ir.code.IRCode ir -> a
-    int maxOffset -> g
-    com.android.tools.r8.ir.conversion.DexBuilder$Info[] instructionToInfo -> i
-    com.android.tools.r8.ir.conversion.DexBuilder$Info previousNonFallthroughInfo -> j
-    com.android.tools.r8.ir.code.BasicBlock nextBlock -> n
-    java.util.List fillArrayDataInfos -> e
-    java.util.List switchPayloadInfos -> d
-    com.android.tools.r8.ir.regalloc.RegisterAllocator registerAllocator -> b
-    java.util.Set ifsNeedingRewrite -> f
+    boolean hasBackwardsBranch -> n
+    int inRegisterCount -> l
+    int outRegisterCount -> m
+    com.android.tools.r8.ir.conversion.DexBuilder$Info previousNonFallthroughInfo -> k
+    int maxOffset -> h
+    int minOffset -> i
+    com.android.tools.r8.utils.InternalOptions options -> d
+    com.android.tools.r8.ir.code.BasicBlock nextBlock -> o
+    com.android.tools.r8.ir.code.IRCode ir -> b
+    com.android.tools.r8.ir.conversion.DexBuilder$Info[] instructionToInfo -> j
+    java.util.Set ifsNeedingRewrite -> g
+    java.util.List fillArrayDataInfos -> f
+    java.util.List switchPayloadInfos -> e
+    com.android.tools.r8.ir.regalloc.RegisterAllocator registerAllocator -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():83:83 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):125:126 -> <init>
     3:3:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,com.android.tools.r8.utils.InternalOptions):129:129 -> <init>
@@ -29273,7 +29268,7 @@
     126:126:boolean isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):587:587 -> a
     126:126:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):427 -> a
     127:140:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):429:442 -> a
-    141:141:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
+    141:141:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
     141:141:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):443 -> a
     142:171:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):445:474 -> a
     172:183:void rewriteIfs():490:501 -> a
@@ -29289,7 +29284,7 @@
     197:200:void reset():165:168 -> a
     197:200:com.android.tools.r8.graph.DexCode build():191 -> a
     201:242:com.android.tools.r8.graph.DexCode build():196:237 -> a
-    243:243:boolean com.android.tools.r8.utils.InternalOptions.canHaveTracingPastInstructionsStreamBug():1572:1572 -> a
+    243:243:boolean com.android.tools.r8.utils.InternalOptions.canHaveTracingPastInstructionsStreamBug():1584:1584 -> a
     243:243:com.android.tools.r8.graph.DexCode build():237 -> a
     244:287:com.android.tools.r8.graph.DexCode build():238:281 -> a
     288:307:com.android.tools.r8.code.Nop createSwitchPayload(com.android.tools.r8.ir.conversion.DexBuilder$SwitchPayloadInfo,int):711:730 -> a
@@ -29365,8 +29360,8 @@
     1:1:int maxSize():970:970 -> e
     1:1:int minSize():965:965 -> f
 com.android.tools.r8.ir.conversion.DexBuilder$GotoInfo -> com.android.tools.r8.ir.conversion.D:
-    boolean $assertionsDisabled -> f
-    int size -> e
+    boolean $assertionsDisabled -> e
+    int size -> f
     1:1:void <clinit>():1080:1080 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Goto):1085:1085 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.code.Goto):1082:1082 -> <init>
@@ -29384,8 +29379,8 @@
     1:1:int maxSize():1106:1106 -> e
     1:1:int minSize():1100:1100 -> f
 com.android.tools.r8.ir.conversion.DexBuilder$IfInfo -> com.android.tools.r8.ir.conversion.E:
-    boolean $assertionsDisabled -> f
-    int size -> e
+    boolean $assertionsDisabled -> e
+    int size -> f
     1:1:void <clinit>():1211:1211 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.If):1216:1216 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.code.If):1213:1213 -> <init>
@@ -29506,10 +29501,10 @@
     int maxSize() -> e
     int minSize() -> f
 com.android.tools.r8.ir.conversion.DexBuilder$Info -> com.android.tools.r8.ir.conversion.F:
-    com.android.tools.r8.ir.code.Instruction ir -> a
-    int offset -> b
-    int maxOffset -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.ir.code.Instruction ir -> b
+    int maxOffset -> d
+    boolean $assertionsDisabled -> a
+    int offset -> c
     1:1:void <clinit>():882:882 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Instruction):891:891 -> <init>
     2:9:void <init>(com.android.tools.r8.ir.code.Instruction):886:893 -> <init>
@@ -29526,8 +29521,8 @@
     int maxSize() -> e
     int minSize() -> f
 com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo -> com.android.tools.r8.ir.conversion.G:
-    boolean $assertionsDisabled -> f
-    int size -> e
+    boolean $assertionsDisabled -> e
+    int size -> f
     1:1:void <clinit>():1358:1358 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Move):1363:1363 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.code.Move):1360:1360 -> <init>
@@ -29602,19 +29597,19 @@
     2:2:int compareTo(com.android.tools.r8.ir.conversion.DexBuilder$TryItem):1502:1502 -> compareTo
     2:2:int compareTo(java.lang.Object):1488 -> compareTo
 com.android.tools.r8.ir.conversion.DexSourceCode -> com.android.tools.r8.ir.conversion.L:
-    boolean $assertionsDisabled -> m
-    com.android.tools.r8.ir.code.Position currentPosition -> i
-    com.android.tools.r8.graph.DexMethod originalMethod -> l
-    com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver arrayFilledDataPayloadResolver -> e
-    com.android.tools.r8.graph.ProgramMethod method -> b
-    com.android.tools.r8.ir.code.CanonicalPositions canonicalPositions -> j
-    com.android.tools.r8.graph.DexCode code -> a
-    com.android.tools.r8.graph.DexCode$Try currentTryRange -> f
-    com.android.tools.r8.ir.code.CatchHandlers currentCatchHandlers -> g
-    java.util.Map offsetToInstructionIndex -> c
-    com.android.tools.r8.code.Instruction currentDexInstruction -> h
-    com.android.tools.r8.ir.conversion.SwitchPayloadResolver switchPayloadResolver -> d
-    java.util.List debugEntries -> k
+    com.android.tools.r8.ir.code.CatchHandlers currentCatchHandlers -> h
+    com.android.tools.r8.ir.code.Position currentPosition -> j
+    com.android.tools.r8.graph.DexMethod originalMethod -> m
+    com.android.tools.r8.ir.conversion.SwitchPayloadResolver switchPayloadResolver -> e
+    com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver arrayFilledDataPayloadResolver -> f
+    com.android.tools.r8.graph.DexCode$Try currentTryRange -> g
+    com.android.tools.r8.graph.DexCode code -> b
+    com.android.tools.r8.ir.code.CanonicalPositions canonicalPositions -> k
+    com.android.tools.r8.graph.ProgramMethod method -> c
+    java.util.Map offsetToInstructionIndex -> d
+    com.android.tools.r8.code.Instruction currentDexInstruction -> i
+    boolean $assertionsDisabled -> a
+    java.util.List debugEntries -> l
     1:1:void <clinit>():54:54 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):78:78 -> <init>
     2:31:void <init>(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):60:89 -> <init>
@@ -29681,35 +29676,35 @@
     void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue) -> a
     void markFieldCannotBeKept(com.android.tools.r8.graph.DexEncodedField) -> b
 com.android.tools.r8.ir.conversion.IRBuilder -> com.android.tools.r8.ir.conversion.N:
-    java.util.List argumentValues -> r
-    java.util.Queue ssaWorklist -> f
-    int currentInstructionOffset -> j
-    com.android.tools.r8.ir.code.BasicBlock currentBlock -> i
-    boolean throwingInstructionInCurrentBlock -> u
-    java.util.List impreciseInstructions -> z
-    com.android.tools.r8.ir.code.Value receiverValue -> q
-    java.util.Set processedSubroutineInstructions -> e
-    com.android.tools.r8.graph.RewrittenPrototypeDescription prototypeChanges -> p
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap offsets -> b
-    boolean[] processedInstructions -> d
-    int nextBlockNumber -> y
-    com.android.tools.r8.graph.ProgramMethod context -> m
-    java.util.LinkedList blocks -> g
-    boolean hasImpreciseValues -> A
-    boolean $assertionsDisabled -> C
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap targets -> a
-    com.android.tools.r8.ir.conversion.SourceCode source -> t
-    com.android.tools.r8.ir.code.BasicBlock entryBlock -> h
-    com.android.tools.r8.origin.Origin origin -> o
-    java.util.Queue traceBlocksWorklist -> c
-    com.android.tools.r8.graph.ProgramMethod method -> l
-    com.android.tools.r8.ir.code.Value previousLocalValue -> v
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap uninitializedDebugLocalValues -> x
-    java.util.List pendingArgumentInstructions -> s
-    com.android.tools.r8.ir.code.ValueNumberGenerator valueNumberGenerator -> k
-    java.util.List debugLocalEnds -> w
-    com.android.tools.r8.graph.AppView appView -> n
-    com.android.tools.r8.ir.code.IRMetadata metadata -> B
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap targets -> b
+    com.android.tools.r8.origin.Origin origin -> p
+    com.android.tools.r8.ir.code.Value previousLocalValue -> w
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap uninitializedDebugLocalValues -> y
+    java.util.List pendingArgumentInstructions -> t
+    java.util.Queue traceBlocksWorklist -> d
+    com.android.tools.r8.ir.code.BasicBlock entryBlock -> i
+    com.android.tools.r8.ir.code.ValueNumberGenerator valueNumberGenerator -> l
+    java.util.List debugLocalEnds -> x
+    com.android.tools.r8.graph.AppView appView -> o
+    java.util.List impreciseInstructions -> A
+    com.android.tools.r8.ir.code.IRMetadata metadata -> C
+    com.android.tools.r8.graph.ProgramMethod method -> m
+    java.util.Queue ssaWorklist -> g
+    com.android.tools.r8.ir.conversion.SourceCode source -> u
+    java.util.LinkedList blocks -> h
+    int currentInstructionOffset -> k
+    com.android.tools.r8.ir.code.BasicBlock currentBlock -> j
+    java.util.List argumentValues -> s
+    boolean throwingInstructionInCurrentBlock -> v
+    com.android.tools.r8.ir.code.Value receiverValue -> r
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap offsets -> c
+    boolean[] processedInstructions -> e
+    int nextBlockNumber -> z
+    java.util.Set processedSubroutineInstructions -> f
+    com.android.tools.r8.graph.RewrittenPrototypeDescription prototypeChanges -> q
+    com.android.tools.r8.graph.ProgramMethod context -> n
+    boolean $assertionsDisabled -> a
+    boolean hasImpreciseValues -> B
     1:1:void <clinit>():150:150 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.ir.code.ValueNumberGenerator):477:477 -> <init>
     2:115:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.RewrittenPrototypeDescription,com.android.tools.r8.ir.code.ValueNumberGenerator):372:485 -> <init>
@@ -29750,15 +29745,15 @@
     65:68:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):557:560 -> a
     69:90:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):559:580 -> a
     91:109:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):590:608 -> a
-    110:112:void markIndexProcessed(int):2442:2444 -> a
+    110:112:void markIndexProcessed(int):2440:2442 -> a
     110:112:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):613 -> a
-    113:114:void ensureSubroutineProcessedInstructions():2452:2453 -> a
-    113:114:void markIndexProcessed(int):2447 -> a
+    113:114:void ensureSubroutineProcessedInstructions():2450:2451 -> a
+    113:114:void markIndexProcessed(int):2445 -> a
     113:114:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):613 -> a
-    115:115:void markIndexProcessed(int):2448:2448 -> a
+    115:115:void markIndexProcessed(int):2446:2446 -> a
     115:115:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):613 -> a
     116:126:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):614:624 -> a
-    127:127:void ensureNormalSuccessorBlock(int,int):2473:2473 -> a
+    127:127:void ensureNormalSuccessorBlock(int,int):2471:2471 -> a
     127:127:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):625 -> a
     128:130:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):631:633 -> a
     131:131:void setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):521:521 -> a
@@ -29786,7 +29781,7 @@
     200:200:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):640 -> a
     201:210:void processWorklist():861:870 -> a
     201:210:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):640 -> a
-    211:214:void closeCurrentBlockWithFallThrough(com.android.tools.r8.ir.code.BasicBlock):2518:2521 -> a
+    211:214:void closeCurrentBlockWithFallThrough(com.android.tools.r8.ir.code.BasicBlock):2516:2519 -> a
     211:214:void processWorklist():870 -> a
     211:214:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):640 -> a
     215:216:void processWorklist():873:874 -> a
@@ -29827,24 +29822,18 @@
     255:255:boolean verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):784:784 -> a
     255:255:boolean verifyFilledPredecessors():770 -> a
     255:255:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):648 -> a
-    256:262:void insertDebugPositions():738:744 -> a
-    256:262:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):651 -> a
-    263:263:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.next():30:30 -> a
-    263:263:void insertDebugPositions():745 -> a
-    263:263:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):651 -> a
-    264:276:void insertDebugPositions():746:758 -> a
-    264:276:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):651 -> a
+    256:276:void insertDebugPositions():738:758 -> a
+    256:276:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):651 -> a
     277:277:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():30:30 -> a
     277:277:void insertDebugPositions():759 -> a
     277:277:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):651 -> a
     278:278:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):30:30 -> a
     278:278:void insertDebugPositions():760 -> a
     278:278:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):651 -> a
-    279:279:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.next():30:30 -> a
-    279:279:void insertDebugPositions():761 -> a
+    279:279:void insertDebugPositions():761:761 -> a
     279:279:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):651 -> a
     280:281:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):654:655 -> a
-    282:282:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1574:1574 -> a
+    282:282:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> a
     282:282:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):655 -> a
     283:285:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):656:658 -> a
     286:286:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():30:30 -> a
@@ -29853,29 +29842,29 @@
     293:293:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):30:30 -> a
     293:293:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):665 -> a
     294:295:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):672:673 -> a
-    296:326:void joinPredecessorsWithIdenticalPhis():2606:2636 -> a
+    296:326:void joinPredecessorsWithIdenticalPhis():2604:2634 -> a
     296:326:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
-    327:327:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1574:1574 -> a
-    327:327:void joinPredecessorsWithIdenticalPhis():2636 -> a
+    327:327:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> a
+    327:327:void joinPredecessorsWithIdenticalPhis():2634 -> a
     327:327:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
-    328:328:void joinPredecessorsWithIdenticalPhis():2636:2636 -> a
+    328:328:void joinPredecessorsWithIdenticalPhis():2634:2634 -> a
     328:328:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
-    329:343:void joinPredecessorsWithIdenticalPhis():2635:2649 -> a
+    329:343:void joinPredecessorsWithIdenticalPhis():2633:2647 -> a
     329:343:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
     344:355:void com.android.tools.r8.ir.code.BasicBlock.removePredecessorsByIndex(java.util.List):545:556 -> a
-    344:355:void joinPredecessorsWithIdenticalPhis():2653 -> a
+    344:355:void joinPredecessorsWithIdenticalPhis():2651 -> a
     344:355:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
-    356:356:void joinPredecessorsWithIdenticalPhis():2654:2654 -> a
+    356:356:void joinPredecessorsWithIdenticalPhis():2652:2652 -> a
     356:356:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
-    357:357:void joinPredecessorsWithIdenticalPhis():2612:2612 -> a
+    357:357:void joinPredecessorsWithIdenticalPhis():2610:2610 -> a
     357:357:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
     358:358:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
-    358:358:void joinPredecessorsWithIdenticalPhis():2612 -> a
+    358:358:void joinPredecessorsWithIdenticalPhis():2610 -> a
     358:358:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
-    359:403:void joinPredecessorsWithIdenticalPhis():2612:2656 -> a
+    359:403:void joinPredecessorsWithIdenticalPhis():2610:2654 -> a
     359:403:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
     404:411:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):681:688 -> a
-    412:412:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder):1183:1183 -> a
+    412:412:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder):1187:1187 -> a
     412:412:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):691 -> a
     413:421:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):692:700 -> a
     422:422:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
@@ -29885,7 +29874,7 @@
     426:426:com.android.tools.r8.graph.DexEncodedMethod getMethod():489:489 -> a
     426:426:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):708 -> a
     427:433:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):708:714 -> a
-    434:434:boolean com.android.tools.r8.utils.InternalOptions.isStringSwitchConversionEnabled():1319:1319 -> a
+    434:434:boolean com.android.tools.r8.utils.InternalOptions.isStringSwitchConversionEnabled():1331:1331 -> a
     434:434:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):714 -> a
     435:435:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):715:715 -> a
     436:447:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):127:138 -> a
@@ -29927,7 +29916,7 @@
     482:482:void addNonThisArgument(com.android.tools.r8.ir.code.Argument):964 -> a
     483:483:void addNonThisArgument(com.android.tools.r8.ir.code.Argument):965:965 -> a
     484:488:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1020:1024 -> a
-    489:489:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():627:627 -> a
+    489:489:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():527:527 -> a
     489:489:boolean isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):997 -> a
     489:489:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1025 -> a
     490:490:boolean isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):997:997 -> a
@@ -29968,7 +29957,7 @@
     606:606:void addConstString(int,com.android.tools.r8.graph.DexString):1214:1214 -> a
     607:607:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfoForConstStrings():1208:1208 -> a
     607:607:void addConstString(int,com.android.tools.r8.graph.DexString):1215 -> a
-    608:608:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    608:608:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     608:608:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfoForConstStrings():1208 -> a
     608:608:void addConstString(int,com.android.tools.r8.graph.DexString):1215 -> a
     609:610:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfoForConstStrings():1209:1210 -> a
@@ -29977,7 +29966,7 @@
     612:612:void addDexItemBasedConstString(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1221:1221 -> a
     613:613:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfoForConstStrings():1208:1208 -> a
     613:613:void addDexItemBasedConstString(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1222 -> a
-    614:614:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    614:614:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     614:614:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfoForConstStrings():1208 -> a
     614:614:void addDexItemBasedConstString(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1222 -> a
     615:616:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfoForConstStrings():1209:1210 -> a
@@ -30037,7 +30026,7 @@
     885:885:void addSwitch(int,int[],int,int[]):1885 -> a
     886:890:com.android.tools.r8.ir.code.IntSwitch createSwitch(com.android.tools.r8.ir.code.Value,int[],int,int[]):1892:1896 -> a
     886:890:void addSwitch(int,int[],int,int[]):1886 -> a
-    891:891:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2491:2491 -> a
+    891:891:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2489:2489 -> a
     891:891:com.android.tools.r8.ir.code.IntSwitch createSwitch(com.android.tools.r8.ir.code.Value,int[],int,int[]):1898 -> a
     891:891:void addSwitch(int,int[],int,int[]):1886 -> a
     892:915:com.android.tools.r8.ir.code.IntSwitch createSwitch(com.android.tools.r8.ir.code.Value,int[],int,int[]):1899:1922 -> a
@@ -30144,7 +30133,7 @@
     1205:1205:com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int):2257:2257 -> a
     1205:1205:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2058 -> a
     1206:1210:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2059:2063 -> a
-    1211:1211:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():627:627 -> a
+    1211:1211:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():527:527 -> a
     1211:1211:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2063 -> a
     1212:1222:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2064:2074 -> a
     1223:1227:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2072:2076 -> a
@@ -30167,71 +30156,71 @@
     1245:1270:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2332:2357 -> a
     1271:1275:void lambda$addInstruction$3(java.util.List,java.util.Set,com.android.tools.r8.graph.DexType,java.lang.Integer):2346:2350 -> a
     1276:1282:void lambda$addInstruction$3(java.util.List,java.util.Set,com.android.tools.r8.graph.DexType,java.lang.Integer):2348:2354 -> a
-    1283:1283:boolean isOffsetProcessed(int):2430:2430 -> a
-    1283:1283:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlock(int):2423 -> a
-    1283:1283:void ensureSuccessorBlock(int,int,boolean):2459 -> a
-    1284:1286:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlock(int):2424:2426 -> a
-    1284:1286:void ensureSuccessorBlock(int,int,boolean):2459 -> a
-    1287:1290:int getBlockStartOffset(int):2414:2417 -> a
-    1287:1290:void ensureSuccessorBlock(int,int,boolean):2460 -> a
-    1291:1291:void ensureSuccessorBlock(int,int,boolean):2461:2461 -> a
+    1283:1283:boolean isOffsetProcessed(int):2428:2428 -> a
+    1283:1283:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlock(int):2421 -> a
+    1283:1283:void ensureSuccessorBlock(int,int,boolean):2457 -> a
+    1284:1286:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlock(int):2422:2424 -> a
+    1284:1286:void ensureSuccessorBlock(int,int,boolean):2457 -> a
+    1287:1290:int getBlockStartOffset(int):2412:2415 -> a
+    1287:1290:void ensureSuccessorBlock(int,int,boolean):2458 -> a
+    1291:1291:void ensureSuccessorBlock(int,int,boolean):2459:2459 -> a
     1292:1292:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addNormalSuccessor(int):286:286 -> a
-    1292:1292:void ensureSuccessorBlock(int,int,boolean):2463 -> a
+    1292:1292:void ensureSuccessorBlock(int,int,boolean):2461 -> a
     1293:1293:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addNormalPredecessor(int):282:282 -> a
-    1293:1293:void ensureSuccessorBlock(int,int,boolean):2464 -> a
+    1293:1293:void ensureSuccessorBlock(int,int,boolean):2462 -> a
     1294:1294:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalSuccessor(int):299:299 -> a
-    1294:1294:void ensureSuccessorBlock(int,int,boolean):2466 -> a
+    1294:1294:void ensureSuccessorBlock(int,int,boolean):2464 -> a
     1295:1295:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalPredecessor(int):295:295 -> a
-    1295:1295:void ensureSuccessorBlock(int,int,boolean):2467 -> a
-    1296:1296:void ensureSuccessorBlock(int,int,boolean):2469:2469 -> a
-    1297:1297:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2491:2491 -> a
+    1295:1295:void ensureSuccessorBlock(int,int,boolean):2465 -> a
+    1296:1296:void ensureSuccessorBlock(int,int,boolean):2467:2467 -> a
+    1297:1297:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2489:2489 -> a
     1297:1297:void addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1354 -> a
-    1298:1298:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2491:2491 -> a
+    1298:1298:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2489:2489 -> a
     1298:1298:void addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1355 -> a
     1299:1304:void addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1356:1361 -> a
-    1305:1308:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2508:2511 -> a
-    1309:1309:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510:2510 -> a
-    1310:1312:void generateSplitEdgeBlocks():2525:2527 -> a
-    1310:1312:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
-    1313:1313:int getOffset(com.android.tools.r8.ir.code.BasicBlock):2495:2495 -> a
-    1313:1313:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo getBlockInfo(com.android.tools.r8.ir.code.BasicBlock):2487 -> a
-    1313:1313:void generateSplitEdgeBlocks():2527 -> a
-    1313:1313:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
-    1314:1314:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo getBlockInfo(int):2483:2483 -> a
-    1314:1314:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo getBlockInfo(com.android.tools.r8.ir.code.BasicBlock):2487 -> a
-    1314:1314:void generateSplitEdgeBlocks():2527 -> a
-    1314:1314:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
-    1315:1315:void generateSplitEdgeBlocks():2528:2528 -> a
-    1315:1315:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
+    1305:1308:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2506:2509 -> a
+    1309:1309:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2508:2508 -> a
+    1310:1312:void generateSplitEdgeBlocks():2523:2525 -> a
+    1310:1312:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
+    1313:1313:int getOffset(com.android.tools.r8.ir.code.BasicBlock):2493:2493 -> a
+    1313:1313:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo getBlockInfo(com.android.tools.r8.ir.code.BasicBlock):2485 -> a
+    1313:1313:void generateSplitEdgeBlocks():2525 -> a
+    1313:1313:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
+    1314:1314:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo getBlockInfo(int):2481:2481 -> a
+    1314:1314:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo getBlockInfo(com.android.tools.r8.ir.code.BasicBlock):2485 -> a
+    1314:1314:void generateSplitEdgeBlocks():2525 -> a
+    1314:1314:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
+    1315:1315:void generateSplitEdgeBlocks():2526:2526 -> a
+    1315:1315:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
     1316:1317:boolean com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.hasMoreThanASingleNormalExit():314:315 -> a
-    1316:1317:void generateSplitEdgeBlocks():2529 -> a
-    1316:1317:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
-    1318:1318:void generateSplitEdgeBlocks():2532:2532 -> a
-    1318:1318:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
-    1319:1319:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo getBlockInfo(int):2483:2483 -> a
-    1319:1319:void generateSplitEdgeBlocks():2533 -> a
-    1319:1319:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
+    1316:1317:void generateSplitEdgeBlocks():2527 -> a
+    1316:1317:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
+    1318:1318:void generateSplitEdgeBlocks():2530:2530 -> a
+    1318:1318:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
+    1319:1319:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo getBlockInfo(int):2481:2481 -> a
+    1319:1319:void generateSplitEdgeBlocks():2531 -> a
+    1319:1319:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
     1320:1320:int com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.predecessorCount():303:303 -> a
-    1320:1320:void generateSplitEdgeBlocks():2534 -> a
-    1320:1320:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
-    1321:1331:void generateSplitEdgeBlocks():2537:2547 -> a
-    1321:1331:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
-    1332:1340:void generateSplitEdgeBlocks():2544:2552 -> a
-    1332:1340:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
-    1341:1346:com.android.tools.r8.ir.code.BasicBlock createSplitEdgeBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):2568:2573 -> a
-    1341:1346:void generateSplitEdgeBlocks():2552 -> a
-    1341:1346:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
-    1347:1354:void generateSplitEdgeBlocks():2553:2560 -> a
-    1347:1354:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
+    1320:1320:void generateSplitEdgeBlocks():2532 -> a
+    1320:1320:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
+    1321:1331:void generateSplitEdgeBlocks():2535:2545 -> a
+    1321:1331:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
+    1332:1340:void generateSplitEdgeBlocks():2542:2550 -> a
+    1332:1340:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
+    1341:1346:com.android.tools.r8.ir.code.BasicBlock createSplitEdgeBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):2566:2571 -> a
+    1341:1346:void generateSplitEdgeBlocks():2550 -> a
+    1341:1346:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
+    1347:1354:void generateSplitEdgeBlocks():2551:2558 -> a
+    1347:1354:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
     1355:1357:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.allSuccessors():307:309 -> a
-    1355:1357:void generateSplitEdgeBlocks():2563 -> a
-    1355:1357:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
-    1358:1358:void generateSplitEdgeBlocks():2563:2563 -> a
-    1358:1358:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512 -> a
+    1355:1357:void generateSplitEdgeBlocks():2561 -> a
+    1355:1357:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
+    1358:1358:void generateSplitEdgeBlocks():2561:2561 -> a
+    1358:1358:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2510 -> a
     1359:1359:void addInstruction(com.android.tools.r8.ir.code.Instruction):2327:2327 -> a
-    1359:1359:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2513 -> a
-    1360:1360:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2514:2514 -> a
-    1361:1361:boolean isIntegerType(com.android.tools.r8.ir.code.NumericType):2662:2662 -> a
+    1359:1359:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2511 -> a
+    1360:1360:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2512:2512 -> a
+    1361:1361:boolean isIntegerType(com.android.tools.r8.ir.code.NumericType):2660:2660 -> a
     1:20:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):63:82 -> b
     1:20:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1113 -> b
     21:21:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):78:78 -> b
@@ -30262,12 +30251,12 @@
     74:74:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1068 -> b
     75:79:void addConstClass(int,com.android.tools.r8.graph.DexType):1170:1174 -> b
     80:80:void addTrivialIf(int,int):1340:1340 -> b
-    81:81:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2491:2491 -> b
+    81:81:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2489:2489 -> b
     81:81:void addTrivialIf(int,int):1344 -> b
     82:85:void addTrivialIf(int,int):1347:1350 -> b
     86:89:void addInstancePut(int,int,com.android.tools.r8.graph.DexField):1438:1441 -> b
     90:90:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1604:1604 -> b
-    91:91:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> b
+    91:91:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> b
     91:91:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1604 -> b
     92:98:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1604:1610 -> b
     99:103:void addNewArrayEmpty(int,int,com.android.tools.r8.graph.DexType):1737:1741 -> b
@@ -30292,10 +30281,10 @@
     131:131:void addInstruction(com.android.tools.r8.ir.code.Instruction):2327:2327 -> b
     131:131:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1733 -> b
     132:132:void addInstruction(com.android.tools.r8.ir.code.Instruction):2327:2327 -> b
-    133:133:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2491:2491 -> b
+    133:133:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2489:2489 -> b
     133:133:void addGoto(int):1332 -> b
     134:137:void addGoto(int):1333:1336 -> b
-    138:138:boolean isNonLongIntegerType(com.android.tools.r8.ir.code.NumericType):2666:2666 -> b
+    138:138:boolean isNonLongIntegerType(com.android.tools.r8.ir.code.NumericType):2664:2664 -> b
     1:1:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1072:1072 -> c
     2:2:com.android.tools.r8.ir.code.Value readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2198:2198 -> c
     2:2:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1073 -> c
@@ -30318,11 +30307,11 @@
     26:26:void addInstruction(com.android.tools.r8.ir.code.Instruction):2327:2327 -> c
     26:26:void addInitClass(int,com.android.tools.r8.graph.DexType):1793 -> c
     27:29:com.android.tools.r8.ir.code.Value readRegisterForDebugLocal(int,com.android.tools.r8.graph.DebugLocalInfo):2081:2083 -> c
-    30:47:void attachLocalValues(com.android.tools.r8.ir.code.Instruction):2372:2389 -> c
-    48:49:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2499:2500 -> c
-    50:50:void setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):521:521 -> c
-    50:50:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2501 -> c
-    51:53:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2502:2504 -> c
+    30:45:void attachLocalValues(com.android.tools.r8.ir.code.Instruction):2372:2387 -> c
+    46:47:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2497:2498 -> c
+    48:48:void setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):521:521 -> c
+    48:48:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2499 -> c
+    49:51:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2500:2502 -> c
     1:1:boolean lambda$build$0(com.android.tools.r8.ir.code.Instruction):657:657 -> d
     2:4:void flushArgumentInstructions():988:990 -> d
     5:5:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1082:1082 -> d
@@ -30339,7 +30328,7 @@
     32:35:void addNewInstance(int,com.android.tools.r8.graph.DexType):1755:1758 -> d
     36:36:void addInstruction(com.android.tools.r8.ir.code.Instruction):2327:2327 -> d
     36:36:void addNewInstance(int,com.android.tools.r8.graph.DexType):1759 -> d
-    37:37:void ensureExceptionalSuccessorBlock(int,int):2477:2477 -> d
+    37:37:void ensureExceptionalSuccessorBlock(int,int):2475:2475 -> d
     1:2:java.util.List getArgumentValues():505:506 -> e
     3:3:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1228:1228 -> e
     4:4:com.android.tools.r8.ir.code.Value readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2198:2198 -> e
@@ -30357,7 +30346,7 @@
     22:23:void addReturn(int):1773:1774 -> e
     24:26:void addReturn(com.android.tools.r8.ir.code.Return):1784:1786 -> e
     24:26:void addReturn(int):1774 -> e
-    27:27:void ensureNormalSuccessorBlock(int,int):2473:2473 -> e
+    27:27:void ensureNormalSuccessorBlock(int,int):2471:2471 -> e
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getCFG():501:501 -> f
     2:2:void resolveAndBuildNewArrayFilledData(int,int):919:919 -> f
     3:4:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1239:1240 -> f
@@ -30397,40 +30386,40 @@
     7:8:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1294:1295 -> h
     9:9:void addInstruction(com.android.tools.r8.ir.code.Instruction):2327:2327 -> h
     9:9:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1296 -> h
-    10:11:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2396:2397 -> h
-    12:12:boolean isOffsetProcessed(int):2430:2430 -> h
-    12:12:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2400 -> h
-    13:16:int getBlockStartOffset(int):2414:2417 -> h
-    13:16:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
-    17:18:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2402:2403 -> h
+    10:11:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2394:2395 -> h
+    12:12:boolean isOffsetProcessed(int):2428:2428 -> h
+    12:12:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2398 -> h
+    13:16:int getBlockStartOffset(int):2412:2415 -> h
+    13:16:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2399 -> h
+    17:18:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2400:2401 -> h
     19:340:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):0:321 -> h
-    19:340:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
+    19:340:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
     341:342:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.<init>(java.util.Collection):87:88 -> h
     341:342:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):321 -> h
-    341:342:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
+    341:342:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
     343:348:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):321:326 -> h
-    343:348:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
+    343:348:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
     349:350:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.replaceNormalPredecessor(int,int):290:291 -> h
     349:350:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):327 -> h
-    349:350:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
+    349:350:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
     351:352:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):329:330 -> h
-    351:352:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
+    351:352:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
     353:354:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.<init>(java.util.Collection):87:88 -> h
     353:354:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):330 -> h
-    353:354:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
+    353:354:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
     355:359:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):330:334 -> h
-    355:359:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
+    355:359:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
     360:360:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalPredecessor(int):295:295 -> h
     360:360:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):335 -> h
-    360:360:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
+    360:360:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
     361:361:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):337:337 -> h
-    361:361:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
+    361:361:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
     362:363:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):76:77 -> h
     362:363:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):337 -> h
-    362:363:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
+    362:363:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
     364:364:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):337:337 -> h
-    364:364:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403 -> h
-    365:368:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2405:2408 -> h
+    364:364:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2401 -> h
+    365:368:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2403:2406 -> h
     1:1:com.android.tools.r8.ir.code.Value getReceiverValue():510:510 -> i
     2:2:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1935:1935 -> i
     3:3:com.android.tools.r8.ir.code.Value readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2198:2198 -> i
@@ -30443,7 +30432,7 @@
     7:8:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1939:1940 -> i
     9:9:void addInstruction(com.android.tools.r8.ir.code.Instruction):2327:2327 -> i
     9:9:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1941 -> i
-    10:10:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2491:2491 -> i
+    10:10:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2489:2489 -> i
     1:1:boolean isDebugMode():497:497 -> j
     2:2:com.android.tools.r8.graph.DexEncodedMethod getMethod():489:489 -> j
     2:2:boolean isDebugMode():497 -> j
@@ -30457,10 +30446,10 @@
     9:10:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1949:1950 -> j
     11:11:void addInstruction(com.android.tools.r8.ir.code.Instruction):2327:2327 -> j
     11:11:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1951 -> j
-    12:13:boolean isIndexProcessed(int):2434:2435 -> j
-    14:15:void ensureSubroutineProcessedInstructions():2452:2453 -> j
-    14:15:boolean isIndexProcessed(int):2437 -> j
-    16:16:boolean isIndexProcessed(int):2438:2438 -> j
+    12:13:boolean isIndexProcessed(int):2432:2433 -> j
+    14:15:void ensureSubroutineProcessedInstructions():2450:2451 -> j
+    14:15:boolean isIndexProcessed(int):2435 -> j
+    16:16:boolean isIndexProcessed(int):2436:2436 -> j
     1:1:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1309:1309 -> k
     2:2:com.android.tools.r8.ir.code.Value readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2198:2198 -> k
     2:2:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1310 -> k
@@ -30554,7 +30543,7 @@
     6:7:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2009:2010 -> t
     8:8:void addInstruction(com.android.tools.r8.ir.code.Instruction):2327:2327 -> t
     8:8:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2011 -> t
-    1:7:java.lang.String toString():2675:2681 -> toString
+    1:7:java.lang.String toString():2673:2679 -> toString
     1:1:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2015:2015 -> u
     2:2:com.android.tools.r8.ir.code.Value readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2198:2198 -> u
     2:2:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2016 -> u
@@ -30611,354 +30600,350 @@
     1:9:boolean equals(java.lang.Object):257:265 -> equals
     1:1:int hashCode():252:252 -> hashCode
 com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem -> com.android.tools.r8.ir.conversion.N$f:
-    int firstInstructionIndex -> b
-    boolean $assertionsDisabled -> c
-    com.android.tools.r8.ir.code.BasicBlock block -> a
+    boolean $assertionsDisabled -> a
+    int firstInstructionIndex -> c
+    com.android.tools.r8.ir.code.BasicBlock block -> b
     1:1:void <clinit>():185:185 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.conversion.IRBuilder$1):185:185 -> <init>
     2:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,int):190:193 -> <init>
     1:1:com.android.tools.r8.ir.code.BasicBlock access$100(com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem):185:185 -> a
     1:1:int access$400(com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem):185:185 -> b
 com.android.tools.r8.ir.conversion.IRConverter -> com.android.tools.r8.ir.conversion.O:
-    com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer covariantReturnTypeAnnotationTransformer -> C
     com.android.tools.r8.ir.analysis.TypeChecker typeChecker -> F
     java.util.concurrent.atomic.AtomicBoolean seenNotNeverMergePrefix -> U
-    com.android.tools.r8.naming.IdentifierNameStringMarker identifierNameStringMarker -> A
-    com.android.tools.r8.ir.optimize.MemberValuePropagation memberValuePropagation -> x
+    com.android.tools.r8.ir.optimize.DynamicTypeOptimization dynamicTypeOptimization -> L
+    com.android.tools.r8.ir.optimize.Inliner inliner -> A
     java.util.List onWaveDoneActions -> S
+    com.android.tools.r8.ir.optimize.Outliner outliner -> d
     com.android.tools.r8.ir.optimize.ServiceLoaderRewriter serviceLoaderRewriter -> H
-    java.util.Collection assumers -> K
-    com.android.tools.r8.ir.optimize.classinliner.ClassInliner classInliner -> r
+    com.android.tools.r8.utils.CfgPrinter printer -> v
+    com.android.tools.r8.ir.optimize.ConstantCanonicalizer constantCanonicalizer -> x
+    com.android.tools.r8.ir.desugar.InterfaceMethodRewriter interfaceMethodRewriter -> n
+    com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis libraryMethodOverrideAnalysis -> g
+    com.android.tools.r8.ir.desugar.LambdaRewriter lambdaRewriter -> l
+    com.android.tools.r8.ir.desugar.TwrCloseResourceRewriter twrCloseResourceRewriter -> o
+    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> w
+    com.android.tools.r8.ir.optimize.info.OptimizationFeedback simpleOptimizationFeedback -> Q
+    com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer classStaticizer -> t
+    com.android.tools.r8.utils.InternalOptions options -> u
+    com.android.tools.r8.ir.conversion.StringSwitchRemover stringSwitchRemover -> E
+    com.android.tools.r8.ir.analysis.fieldaccess.FieldAccessAnalysis fieldAccessAnalysis -> f
+    com.android.tools.r8.ir.optimize.string.StringOptimizer stringOptimizer -> i
+    com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer covariantReturnTypeAnnotationTransformer -> D
     com.android.tools.r8.graph.DexString highestSortingString -> R
     java.util.concurrent.atomic.AtomicBoolean seenNeverMergePrefix -> V
-    com.android.tools.r8.utils.CfgPrinter printer -> u
-    com.android.tools.r8.ir.optimize.ConstantCanonicalizer constantCanonicalizer -> w
-    com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis libraryMethodOverrideAnalysis -> f
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.optimize.MemberValuePropagation memberValuePropagation -> y
+    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization classInitializerDefaultsOptimization -> e
+    com.android.tools.r8.ir.optimize.AssumeInserter assumeInserter -> K
+    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed delayedOptimizationFeedback -> P
+    com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter desugaredLibraryRetargeter -> q
+    java.util.List neverMergePrefixes -> T
+    com.android.tools.r8.naming.IdentifierNameStringMarker identifierNameStringMarker -> B
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> J
     com.android.tools.r8.ir.optimize.AssertionsRewriter assertionsRewriter -> M
-    com.android.tools.r8.ir.desugar.LambdaRewriter lambdaRewriter -> k
-    com.android.tools.r8.ir.optimize.Inliner inliner -> z
+    com.android.tools.r8.ir.desugar.StringConcatRewriter stringConcatRewriter -> h
+    com.android.tools.r8.ir.optimize.classinliner.ClassInliner classInliner -> s
+    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer stringBuilderOptimizer -> j
+    com.android.tools.r8.ir.optimize.Devirtualizer devirtualizer -> C
     com.android.tools.r8.ir.optimize.DeadCodeRemover deadCodeRemover -> N
-    com.android.tools.r8.ir.desugar.TwrCloseResourceRewriter twrCloseResourceRewriter -> n
+    com.android.tools.r8.ir.optimize.lambda.LambdaMerger lambdaMerger -> r
+    com.android.tools.r8.utils.Timing timing -> c
+    com.android.tools.r8.ir.desugar.BackportedMethodRewriter backportedMethodRewriter -> p
+    com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer idempotentFunctionCallCanonicalizer -> k
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector methodOptimizationInfoCollector -> O
-    com.android.tools.r8.utils.InternalOptions options -> t
+    com.android.tools.r8.ir.desugar.D8NestBasedAccessDesugaring d8NestBasedAccessDesugaring -> m
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.conversion.LensCodeRewriter lensCodeRewriter -> z
     com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer enumValueOptimizer -> I
     com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter desugaredLibraryAPIConverter -> G
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.optimize.DynamicTypeOptimization dynamicTypeOptimization -> L
-    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization classInitializerDefaultsOptimization -> d
-    com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter desugaredLibraryRetargeter -> p
-    com.android.tools.r8.ir.desugar.StringConcatRewriter stringConcatRewriter -> g
-    com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer idempotentFunctionCallCanonicalizer -> j
-    com.android.tools.r8.ir.optimize.lambda.LambdaMerger lambdaMerger -> q
-    com.android.tools.r8.ir.desugar.BackportedMethodRewriter backportedMethodRewriter -> o
-    com.android.tools.r8.ir.optimize.Devirtualizer devirtualizer -> B
-    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer stringBuilderOptimizer -> i
-    com.android.tools.r8.ir.optimize.info.OptimizationFeedback simpleOptimizationFeedback -> Q
-    com.android.tools.r8.utils.Timing timing -> b
-    com.android.tools.r8.ir.conversion.LensCodeRewriter lensCodeRewriter -> y
-    com.android.tools.r8.ir.desugar.D8NestBasedAccessDesugaring d8NestBasedAccessDesugaring -> l
-    com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization uninstantiatedTypeOptimization -> E
-    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed delayedOptimizationFeedback -> P
-    java.util.List neverMergePrefixes -> T
-    boolean $assertionsDisabled -> W
-    com.android.tools.r8.ir.optimize.Outliner outliner -> c
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> J
-    com.android.tools.r8.ir.desugar.InterfaceMethodRewriter interfaceMethodRewriter -> m
-    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> v
-    com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer classStaticizer -> s
-    com.android.tools.r8.ir.conversion.StringSwitchRemover stringSwitchRemover -> D
-    com.android.tools.r8.ir.analysis.fieldaccess.FieldAccessAnalysis fieldAccessAnalysis -> e
-    com.android.tools.r8.ir.optimize.string.StringOptimizer stringOptimizer -> h
-    1:1:void <clinit>():127:127 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter,com.android.tools.r8.shaking.MainDexClasses):197:197 -> <init>
-    2:209:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter,com.android.tools.r8.shaking.MainDexClasses):171:378 -> <init>
-    210:210:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):383:383 -> <init>
-    boolean lambda$materializeInstructionBeforeLongOperationsWorkaround$19(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
-    1:1:java.lang.String lambda$new$0(java.lang.String):219:219 -> a
+    1:1:void <clinit>():125:125 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter,com.android.tools.r8.shaking.MainDexClasses):193:193 -> <init>
+    2:189:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter,com.android.tools.r8.shaking.MainDexClasses):175:362 -> <init>
+    190:190:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):367:367 -> <init>
+    boolean lambda$materializeInstructionBeforeLongOperationsWorkaround$21(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
+    1:1:java.lang.String lambda$new$0(java.lang.String):215:215 -> a
     2:330:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageBinaryNameFromJavaType(java.lang.String):0:328 -> a
-    2:330:java.lang.String lambda$new$0(java.lang.String):219 -> a
-    331:331:java.lang.String lambda$new$0(java.lang.String):219:219 -> a
-    332:333:void removeLambdaDeserializationMethods():410:411 -> a
-    332:333:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):491 -> a
-    334:339:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):493:498 -> a
-    340:341:void desugarNestBasedAccess(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):417:418 -> a
-    340:341:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):500 -> a
-    342:343:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):501:502 -> a
-    344:345:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):448:449 -> a
-    344:345:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):502 -> a
-    346:347:void synthesizeTwrCloseResourceUtilityClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):457:458 -> a
-    346:347:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):503 -> a
-    348:349:void synthesizeJava8UtilityClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):464:465 -> a
-    348:349:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):504 -> a
-    350:351:void synthesizeRetargetClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):471:472 -> a
-    350:351:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):505 -> a
-    352:353:void processCovariantReturnTypeAnnotations(com.android.tools.r8.graph.DexApplication$Builder):484:485 -> a
-    352:353:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):507 -> a
-    354:355:void generateDesugaredLibraryAPIWrappers(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):961:962 -> a
-    354:355:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):508 -> a
-    356:359:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):510:513 -> a
-    360:362:void synthesizeLambdaClasses(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):424:426 -> a
-    363:369:void handleSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):517:523 -> a
-    370:372:void clearSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):548:550 -> a
-    370:372:void handleSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):524 -> a
-    373:380:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.getWithout(com.android.tools.r8.graph.DexType):120:127 -> a
-    373:380:void clearSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):550 -> a
-    373:380:void handleSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):524 -> a
-    381:381:void clearSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):549:549 -> a
-    381:381:void handleSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):524 -> a
-    382:384:void lambda$convertMethods$4(boolean,com.android.tools.r8.graph.ProgramMethod):597:599 -> a
-    385:414:void convertMethod(com.android.tools.r8.graph.ProgramMethod):604:633 -> a
-    415:415:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
-    415:415:void convertMethod(com.android.tools.r8.graph.ProgramMethod):633 -> a
-    416:416:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
-    416:416:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
-    416:416:void convertMethod(com.android.tools.r8.graph.ProgramMethod):633 -> a
-    417:421:void convertMethod(com.android.tools.r8.graph.ProgramMethod):633:637 -> a
-    422:422:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    422:422:void convertMethod(com.android.tools.r8.graph.ProgramMethod):637 -> a
-    423:432:void convertMethod(com.android.tools.r8.graph.ProgramMethod):637:646 -> a
-    433:437:void convertMethod(com.android.tools.r8.graph.ProgramMethod):640:640 -> a
-    445:445:void convertMethod(com.android.tools.r8.graph.ProgramMethod):648:648 -> a
-    446:446:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    446:446:void convertMethod(com.android.tools.r8.graph.ProgramMethod):648 -> a
-    447:451:void updateHighestSortingStrings(com.android.tools.r8.graph.DexEncodedMethod):1769:1773 -> a
-    447:451:void convertMethod(com.android.tools.r8.graph.ProgramMethod):649 -> a
-    452:454:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):665:667 -> a
-    455:456:void collectLambdaMergingCandidates(com.android.tools.r8.graph.DexApplication):941:942 -> a
-    455:456:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):668 -> a
-    457:458:void collectStaticizerCandidates(com.android.tools.r8.graph.DexApplication):438:439 -> a
-    457:458:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):669 -> a
-    459:470:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):677:688 -> a
-    471:535:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):687:751 -> a
-    536:536:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    536:536:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):751 -> a
-    537:537:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):752:752 -> a
-    538:539:void staticizeClasses(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):432:433 -> a
-    538:539:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):754 -> a
-    540:554:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):755:769 -> a
-    555:556:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):448:449 -> a
-    555:556:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):769 -> a
-    557:559:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):770:772 -> a
-    560:561:void synthesizeTwrCloseResourceUtilityClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):457:458 -> a
-    560:561:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):773 -> a
-    562:563:void synthesizeJava8UtilityClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):464:465 -> a
-    562:563:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):774 -> a
-    564:565:void synthesizeRetargetClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):471:472 -> a
-    564:565:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):775 -> a
-    566:566:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):776:776 -> a
-    567:568:void synthesizeEnumUnboxingUtilityMethods(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):478:479 -> a
-    567:568:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):777 -> a
-    569:569:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):779:779 -> a
-    570:571:void finalizeLambdaMerging(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):952:953 -> a
-    570:571:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):781 -> a
-    572:572:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):783:783 -> a
-    573:574:void generateDesugaredLibraryAPIWrappers(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):961:962 -> a
-    573:574:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):784 -> a
-    575:578:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):786:789 -> a
-    579:600:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):788:809 -> a
-    601:608:com.android.tools.r8.graph.DexType computeOutlineClassType():1004:1011 -> a
-    601:608:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):809 -> a
-    609:659:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):809:859 -> a
-    660:662:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):858:860 -> a
-    663:663:com.android.tools.r8.utils.Timing lambda$optimize$5(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessingId):696:696 -> a
-    664:665:void lambda$optimize$6(com.android.tools.r8.ir.code.IRCode):805:806 -> a
-    666:673:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet):868:875 -> a
-    674:674:void addWaveDoneAction(com.android.tools.r8.utils.Action):879:879 -> a
-    675:675:boolean isInWave():889:889 -> a
-    675:675:void addWaveDoneAction(com.android.tools.r8.utils.Action):882 -> a
-    676:676:void addWaveDoneAction(com.android.tools.r8.utils.Action):885:885 -> a
-    677:677:void addWaveDoneAction(com.android.tools.r8.utils.Action):883:883 -> a
-    678:678:void addWaveDoneAction(com.android.tools.r8.utils.Action):880:880 -> a
-    679:679:void computeReachabilitySensitivity(com.android.tools.r8.graph.DexApplication):893:893 -> a
-    680:680:void lambda$computeReachabilitySensitivity$8(com.android.tools.r8.graph.DexEncodedMethod):895:895 -> a
-    681:682:void forEachSelectedOutliningMethod(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.function.Consumer,java.util.concurrent.ExecutorService):905:906 -> a
-    683:693:void lambda$forEachSelectedOutliningMethod$10(java.util.function.Consumer,com.android.tools.r8.graph.ProgramMethod):909:919 -> a
-    694:694:void clearDexMethodCompilationState():967:967 -> a
-    695:695:void clearDexMethodCompilationState(com.android.tools.r8.graph.DexProgramClass):971:971 -> a
-    696:707:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):984:995 -> a
-    708:708:java.lang.String logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):1058:1058 -> a
-    708:708:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):995 -> a
-    709:709:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):995:995 -> a
-    710:710:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):994:994 -> a
-    711:712:void optimizeSynthesizedClass(com.android.tools.r8.graph.DexProgramClass,java.util.concurrent.ExecutorService):1019:1020 -> a
-    713:717:void optimizeSynthesizedClasses(java.util.Collection,java.util.concurrent.ExecutorService):1026:1030 -> a
-    718:718:void lambda$optimizeSynthesizedMethod$11(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessingId):1040:1040 -> a
-    719:721:void processMethodsConcurrently(com.android.tools.r8.utils.collections.SortedProgramMethodSet,java.util.concurrent.ExecutorService):1047:1049 -> a
-    722:722:java.lang.String logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):1058:1058 -> a
-    723:725:com.android.tools.r8.utils.Timing rewriteCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1113:1115 -> a
-    723:725:com.android.tools.r8.utils.Timing lambda$rewriteCode$13(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1105 -> a
-    726:734:com.android.tools.r8.utils.Timing rewriteCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1114:1122 -> a
-    726:734:com.android.tools.r8.utils.Timing lambda$rewriteCode$13(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1105 -> a
-    735:753:com.android.tools.r8.utils.Timing rewriteCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1118:1136 -> a
-    735:753:com.android.tools.r8.utils.Timing lambda$rewriteCode$13(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1105 -> a
-    754:762:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1145:1153 -> a
-    763:768:void printC1VisualizerHeader(com.android.tools.r8.graph.DexEncodedMethod):1977:1982 -> a
-    763:768:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1156 -> a
-    769:775:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1157:1163 -> a
-    776:776:boolean com.android.tools.r8.utils.InternalOptions.canHaveArtStringNewInitBug():1524:1524 -> a
-    776:776:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1163 -> a
-    777:797:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1164:1184 -> a
-    798:824:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1183:1209 -> a
-    825:825:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1704:1704 -> a
-    825:825:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1210 -> a
-    826:826:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    826:826:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1704 -> a
-    826:826:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1210 -> a
-    827:829:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1704:1706 -> a
-    827:829:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1210 -> a
-    830:830:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    830:830:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1706 -> a
-    830:830:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1210 -> a
-    831:834:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1707:1710 -> a
-    831:834:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1210 -> a
-    835:843:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1218:1226 -> a
-    844:861:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1225:1242 -> a
-    862:862:void com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringsInMethod(com.android.tools.r8.ir.code.IRCode):95:95 -> a
-    862:862:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1242 -> a
-    863:900:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1243:1280 -> a
-    901:901:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):865:865 -> a
-    901:901:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1280 -> a
-    902:902:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):859:859 -> a
-    902:902:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1280 -> a
-    903:1001:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1281:1379 -> a
-    1002:1002:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyControlFlow(com.android.tools.r8.ir.code.IRCode):0:0 -> a
-    1002:1002:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1379 -> a
-    1003:1003:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode):965:965 -> a
-    1003:1003:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyControlFlow(com.android.tools.r8.ir.code.IRCode):2410 -> a
-    1003:1003:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1379 -> a
-    1004:1004:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyControlFlow(com.android.tools.r8.ir.code.IRCode):2411:2411 -> a
-    1004:1004:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1379 -> a
-    1005:1015:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1380:1390 -> a
-    1016:1095:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination.shouldRun(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):0:79 -> a
-    1016:1095:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1390 -> a
-    1096:1101:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1391:1396 -> a
-    1102:1104:void invertConditionalsForTesting(com.android.tools.r8.ir.code.IRCode):1090:1092 -> a
-    1102:1104:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1397 -> a
-    1105:1117:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1401:1413 -> a
-    1118:1172:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1412:1466 -> a
-    1173:1269:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1456:1552 -> a
-    1270:1270:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    1270:1270:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1552 -> a
-    1271:1290:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1553:1572 -> a
-    1291:1296:boolean com.android.tools.r8.utils.InternalOptions.methodMatchesLogArgumentsFilter(com.android.tools.r8.graph.DexEncodedMethod):1031:1036 -> a
-    1291:1296:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1572 -> a
-    1297:1339:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1573:1615 -> a
-    1340:1340:boolean com.android.tools.r8.utils.InternalOptions.canHaveNumberConversionRegisterAllocationBug():1532:1532 -> a
-    1340:1340:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1615 -> a
-    1341:1349:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1616:1624 -> a
-    1350:1350:void lambda$optimize$14(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1269:1269 -> a
-    1351:1351:void lambda$optimize$15(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):1273:1273 -> a
-    1352:1354:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$16(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1468:1468 -> a
-    1355:1394:void collectOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1637:1676 -> a
-    1395:1395:void collectOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1675:1675 -> a
-    1396:1397:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1694:1695 -> a
-    1398:1398:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    1398:1398:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1695 -> a
-    1399:1404:void finalizeToCf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1714:1719 -> a
-    1399:1404:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1696 -> a
-    1405:1405:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1698:1698 -> a
-    1406:1413:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1723:1730 -> a
-    1406:1413:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1699 -> a
-    1414:1418:void updateHighestSortingStrings(com.android.tools.r8.graph.DexEncodedMethod):1769:1773 -> a
-    1414:1418:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1731 -> a
-    1414:1418:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1699 -> a
-    1419:1421:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1732:1734 -> a
-    1419:1421:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1699 -> a
-    1422:1422:java.lang.String logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):1058:1058 -> a
-    1422:1422:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1734 -> a
-    1422:1422:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1699 -> a
-    1423:1423:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1734:1734 -> a
-    1423:1423:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1699 -> a
-    1424:1430:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1733:1739 -> a
-    1424:1430:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1699 -> a
-    1431:1431:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1744:1744 -> a
-    1432:1441:boolean shouldComputeInliningConstraint(com.android.tools.r8.graph.ProgramMethod):1753:1762 -> a
-    1432:1441:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1746 -> a
-    1442:1444:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1747:1749 -> a
-    1445:1452:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1782:1789 -> a
-    1453:1453:boolean com.android.tools.r8.utils.InternalOptions.canHaveExceptionTargetingLoopHeaderBug():1557:1557 -> a
-    1453:1453:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1789 -> a
-    1454:1454:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1790:1790 -> a
-    1455:5181:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):0:3726 -> a
-    1455:5181:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1790 -> a
-    5182:5182:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1574:1574 -> a
-    5182:5182:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3727 -> a
-    5182:5182:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1790 -> a
-    5183:5184:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3727:3728 -> a
-    5183:5184:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1790 -> a
-    5185:5198:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1792:1805 -> a
-    5199:5199:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1804:1804 -> a
-    5200:5201:com.android.tools.r8.graph.DexMethod lambda$materializeInstructionBeforeLongOperationsWorkaround$18(com.android.tools.r8.graph.DexItemFactory):1870:1871 -> a
-    5202:5202:com.android.tools.r8.graph.DexMethod lambda$materializeInstructionBeforeLongOperationsWorkaround$18(com.android.tools.r8.graph.DexItemFactory):1869:1869 -> a
-    5203:5203:boolean isNotPseudoInstruction(com.android.tools.r8.ir.code.Instruction):1917:1917 -> a
-    5204:5204:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1993:1993 -> a
-    5205:5205:void com.android.tools.r8.utils.CfgPrinter.resetUnusedValue():24:24 -> a
-    5205:5205:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1994 -> a
-    5206:5223:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1995:2012 -> a
-    1:7:boolean enableTryWithResourcesDesugaring():400:406 -> b
-    8:13:void updateMainDexListWithSynthesizedClassMap(com.android.tools.r8.graph.DexApplication$Builder):529:534 -> b
-    14:25:void updateMainDexListWithSynthesizedClassMap(com.android.tools.r8.graph.DexApplication$Builder):532:543 -> b
-    26:35:void convertMethods(com.android.tools.r8.graph.DexProgramClass):585:594 -> b
-    36:36:boolean lambda$convertMethods$3(com.android.tools.r8.graph.DexEncodedMethod):595:595 -> b
-    37:40:void lambda$optimize$7(com.android.tools.r8.ir.code.IRCode):815:818 -> b
-    41:41:void lambda$optimize$7(com.android.tools.r8.ir.code.IRCode):817:817 -> b
-    42:42:void waveStart(com.android.tools.r8.utils.collections.ProgramMethodSet):864:864 -> b
-    43:43:void processSynthesizedServiceLoaderMethods(com.android.tools.r8.graph.DexProgramClass,java.util.concurrent.ExecutorService):926:926 -> b
-    44:48:void forEachSynthesizedServiceLoaderMethod(com.android.tools.r8.graph.ProgramMethod):933:937 -> b
-    49:49:void forEachSynthesizedServiceLoaderMethod(com.android.tools.r8.graph.ProgramMethod):936:936 -> b
-    50:50:void lambda$processMethodsConcurrently$12(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessingId):1051:1051 -> b
-    51:60:com.android.tools.r8.utils.Timing processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1077:1086 -> b
-    61:65:void removeDeadCodeAndFinalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1686:1690 -> b
-    66:70:boolean lambda$workaroundForwardingInitializerBug$17(com.android.tools.r8.ir.code.Instruction):1833:1837 -> b
-    71:72:void printPhase(java.lang.String):1987:1988 -> b
-    1:1:boolean enableTwrCloseResourceDesugaring():396:396 -> c
-    2:21:void updateSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):556:575 -> c
-    22:28:void updateSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):574:580 -> c
+    2:330:java.lang.String lambda$new$0(java.lang.String):215 -> a
+    331:331:java.lang.String lambda$new$0(java.lang.String):215:215 -> a
+    332:333:void removeLambdaDeserializationMethods():394:395 -> a
+    332:333:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):475 -> a
+    334:334:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):477:477 -> a
+    335:343:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):476:484 -> a
+    344:345:void desugarNestBasedAccess(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):401:402 -> a
+    344:345:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):486 -> a
+    346:347:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):487:488 -> a
+    348:349:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):432:433 -> a
+    348:349:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):488 -> a
+    350:351:void synthesizeTwrCloseResourceUtilityClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):441:442 -> a
+    350:351:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):489 -> a
+    352:353:void synthesizeJava8UtilityClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):448:449 -> a
+    352:353:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):490 -> a
+    354:355:void synthesizeRetargetClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):455:456 -> a
+    354:355:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):491 -> a
+    356:357:void processCovariantReturnTypeAnnotations(com.android.tools.r8.graph.DexApplication$Builder):468:469 -> a
+    356:357:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):493 -> a
+    358:359:void generateDesugaredLibraryAPIWrappers(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):974:975 -> a
+    358:359:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):494 -> a
+    360:363:com.android.tools.r8.graph.DexApplication convert(com.android.tools.r8.graph.DexApplication,java.util.concurrent.ExecutorService):496:499 -> a
+    364:366:void synthesizeLambdaClasses(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):408:410 -> a
+    367:373:void handleSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):503:509 -> a
+    374:376:void clearSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):534:536 -> a
+    374:376:void handleSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):510 -> a
+    377:384:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.getWithout(com.android.tools.r8.graph.DexType):120:127 -> a
+    377:384:void clearSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):536 -> a
+    377:384:void handleSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):510 -> a
+    385:385:void clearSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):535:535 -> a
+    385:385:void handleSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):510 -> a
+    386:388:void lambda$convertMethods$4(boolean,com.android.tools.r8.graph.ProgramMethod):583:585 -> a
+    389:418:void convertMethod(com.android.tools.r8.graph.ProgramMethod):590:619 -> a
+    419:419:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
+    419:419:void convertMethod(com.android.tools.r8.graph.ProgramMethod):619 -> a
+    420:420:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
+    420:420:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
+    420:420:void convertMethod(com.android.tools.r8.graph.ProgramMethod):619 -> a
+    421:425:void convertMethod(com.android.tools.r8.graph.ProgramMethod):619:623 -> a
+    426:426:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    426:426:void convertMethod(com.android.tools.r8.graph.ProgramMethod):623 -> a
+    427:436:void convertMethod(com.android.tools.r8.graph.ProgramMethod):623:632 -> a
+    437:441:void convertMethod(com.android.tools.r8.graph.ProgramMethod):626:626 -> a
+    449:449:void convertMethod(com.android.tools.r8.graph.ProgramMethod):634:634 -> a
+    450:450:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    450:450:void convertMethod(com.android.tools.r8.graph.ProgramMethod):634 -> a
+    451:455:void updateHighestSortingStrings(com.android.tools.r8.graph.DexEncodedMethod):1771:1775 -> a
+    451:455:void convertMethod(com.android.tools.r8.graph.ProgramMethod):635 -> a
+    456:461:void workaroundAbstractMethodOnNonAbstractClassVerificationBug(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):643:648 -> a
+    462:462:void workaroundAbstractMethodOnNonAbstractClassVerificationBug(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):647:647 -> a
+    463:464:void lambda$workaroundAbstractMethodOnNonAbstractClassVerificationBug$6(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexProgramClass):650:651 -> a
+    465:467:void lambda$workaroundAbstractMethodOnNonAbstractClassVerificationBug$5(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod):653:655 -> a
+    468:470:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):673:675 -> a
+    471:472:void collectLambdaMergingCandidates(com.android.tools.r8.graph.DexApplication):954:955 -> a
+    471:472:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):676 -> a
+    473:474:void collectStaticizerCandidates(com.android.tools.r8.graph.DexApplication):422:423 -> a
+    473:474:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):677 -> a
+    475:498:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):678:701 -> a
+    499:563:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):700:764 -> a
+    564:564:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    564:564:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):764 -> a
+    565:565:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):765:765 -> a
+    566:567:void staticizeClasses(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):416:417 -> a
+    566:567:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):767 -> a
+    568:582:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):768:782 -> a
+    583:584:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):432:433 -> a
+    583:584:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):782 -> a
+    585:587:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):783:785 -> a
+    588:589:void synthesizeTwrCloseResourceUtilityClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):441:442 -> a
+    588:589:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):786 -> a
+    590:591:void synthesizeJava8UtilityClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):448:449 -> a
+    590:591:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):787 -> a
+    592:593:void synthesizeRetargetClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):455:456 -> a
+    592:593:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):788 -> a
+    594:594:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):789:789 -> a
+    595:596:void synthesizeEnumUnboxingUtilityMethods(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):462:463 -> a
+    595:596:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):790 -> a
+    597:597:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):792:792 -> a
+    598:599:void finalizeLambdaMerging(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):965:966 -> a
+    598:599:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):794 -> a
+    600:600:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):796:796 -> a
+    601:602:void generateDesugaredLibraryAPIWrappers(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):974:975 -> a
+    601:602:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):797 -> a
+    603:606:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):799:802 -> a
+    607:628:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):801:822 -> a
+    629:636:com.android.tools.r8.graph.DexType computeOutlineClassType():1017:1024 -> a
+    629:636:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):822 -> a
+    637:687:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):822:872 -> a
+    688:690:com.android.tools.r8.graph.DexApplication optimize(java.util.concurrent.ExecutorService):871:873 -> a
+    691:691:com.android.tools.r8.utils.Timing lambda$optimize$7(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessingId):709:709 -> a
+    692:693:void lambda$optimize$8(com.android.tools.r8.ir.code.IRCode):818:819 -> a
+    694:701:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet):881:888 -> a
+    702:702:void addWaveDoneAction(com.android.tools.r8.utils.Action):892:892 -> a
+    703:703:boolean isInWave():902:902 -> a
+    703:703:void addWaveDoneAction(com.android.tools.r8.utils.Action):895 -> a
+    704:704:void addWaveDoneAction(com.android.tools.r8.utils.Action):898:898 -> a
+    705:705:void addWaveDoneAction(com.android.tools.r8.utils.Action):896:896 -> a
+    706:706:void addWaveDoneAction(com.android.tools.r8.utils.Action):893:893 -> a
+    707:707:void computeReachabilitySensitivity(com.android.tools.r8.graph.DexApplication):906:906 -> a
+    708:708:void lambda$computeReachabilitySensitivity$10(com.android.tools.r8.graph.DexEncodedMethod):908:908 -> a
+    709:710:void forEachSelectedOutliningMethod(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.function.Consumer,java.util.concurrent.ExecutorService):918:919 -> a
+    711:721:void lambda$forEachSelectedOutliningMethod$12(java.util.function.Consumer,com.android.tools.r8.graph.ProgramMethod):922:932 -> a
+    722:722:void clearDexMethodCompilationState():980:980 -> a
+    723:723:void clearDexMethodCompilationState(com.android.tools.r8.graph.DexProgramClass):984:984 -> a
+    724:735:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):997:1008 -> a
+    736:736:java.lang.String logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):1071:1071 -> a
+    736:736:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1008 -> a
+    737:737:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1008:1008 -> a
+    738:738:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1007:1007 -> a
+    739:740:void optimizeSynthesizedClass(com.android.tools.r8.graph.DexProgramClass,java.util.concurrent.ExecutorService):1032:1033 -> a
+    741:745:void optimizeSynthesizedClasses(java.util.Collection,java.util.concurrent.ExecutorService):1039:1043 -> a
+    746:746:void lambda$optimizeSynthesizedMethod$13(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessingId):1053:1053 -> a
+    747:749:void processMethodsConcurrently(com.android.tools.r8.utils.collections.SortedProgramMethodSet,java.util.concurrent.ExecutorService):1060:1062 -> a
+    750:750:java.lang.String logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):1071:1071 -> a
+    751:753:com.android.tools.r8.utils.Timing rewriteCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1126:1128 -> a
+    751:753:com.android.tools.r8.utils.Timing lambda$rewriteCode$15(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1118 -> a
+    754:762:com.android.tools.r8.utils.Timing rewriteCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1127:1135 -> a
+    754:762:com.android.tools.r8.utils.Timing lambda$rewriteCode$15(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1118 -> a
+    763:781:com.android.tools.r8.utils.Timing rewriteCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1131:1149 -> a
+    763:781:com.android.tools.r8.utils.Timing lambda$rewriteCode$15(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1118 -> a
+    782:790:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1158:1166 -> a
+    791:796:void printC1VisualizerHeader(com.android.tools.r8.graph.DexEncodedMethod):1979:1984 -> a
+    791:796:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1169 -> a
+    797:803:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1170:1176 -> a
+    804:804:boolean com.android.tools.r8.utils.InternalOptions.canHaveArtStringNewInitBug():1536:1536 -> a
+    804:804:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1176 -> a
+    805:825:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1177:1197 -> a
+    826:869:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1196:1239 -> a
+    870:887:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1238:1255 -> a
+    888:888:void com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringsInMethod(com.android.tools.r8.ir.code.IRCode):95:95 -> a
+    888:888:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1255 -> a
+    889:926:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1256:1293 -> a
+    927:927:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):876:876 -> a
+    927:927:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1293 -> a
+    928:928:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):870:870 -> a
+    928:928:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1293 -> a
+    929:1019:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1294:1384 -> a
+    1020:1021:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyControlFlow(com.android.tools.r8.ir.code.IRCode):2400:2401 -> a
+    1020:1021:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1384 -> a
+    1022:1032:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1385:1395 -> a
+    1033:1112:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination.shouldRun(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):0:79 -> a
+    1033:1112:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1395 -> a
+    1113:1118:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1396:1401 -> a
+    1119:1121:void invertConditionalsForTesting(com.android.tools.r8.ir.code.IRCode):1103:1105 -> a
+    1119:1121:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1402 -> a
+    1122:1134:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1406:1418 -> a
+    1135:1189:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1417:1471 -> a
+    1190:1286:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1461:1557 -> a
+    1287:1287:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    1287:1287:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1557 -> a
+    1288:1307:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1558:1577 -> a
+    1308:1313:boolean com.android.tools.r8.utils.InternalOptions.methodMatchesLogArgumentsFilter(com.android.tools.r8.graph.DexEncodedMethod):1027:1032 -> a
+    1308:1313:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1577 -> a
+    1314:1356:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1578:1620 -> a
+    1357:1357:boolean com.android.tools.r8.utils.InternalOptions.canHaveNumberConversionRegisterAllocationBug():1544:1544 -> a
+    1357:1357:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1620 -> a
+    1358:1366:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1621:1629 -> a
+    1367:1367:void lambda$optimize$16(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1282:1282 -> a
+    1368:1368:void lambda$optimize$17(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):1286:1286 -> a
+    1369:1371:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$18(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1473:1473 -> a
+    1372:1411:void collectOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1642:1681 -> a
+    1412:1412:void collectOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1680:1680 -> a
+    1413:1414:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1699:1700 -> a
+    1415:1415:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    1415:1415:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1700 -> a
+    1416:1421:void finalizeToCf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1716:1721 -> a
+    1416:1421:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1701 -> a
+    1422:1422:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1703:1703 -> a
+    1423:1430:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1725:1732 -> a
+    1423:1430:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1704 -> a
+    1431:1435:void updateHighestSortingStrings(com.android.tools.r8.graph.DexEncodedMethod):1771:1775 -> a
+    1431:1435:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1733 -> a
+    1431:1435:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1704 -> a
+    1436:1438:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1734:1736 -> a
+    1436:1438:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1704 -> a
+    1439:1439:java.lang.String logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):1071:1071 -> a
+    1439:1439:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1736 -> a
+    1439:1439:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1704 -> a
+    1440:1440:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1736:1736 -> a
+    1440:1440:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1704 -> a
+    1441:1447:void finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1735:1741 -> a
+    1441:1447:void finalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1704 -> a
+    1448:1448:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1709:1709 -> a
+    1449:1449:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    1449:1449:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1709 -> a
+    1450:1451:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1709:1710 -> a
+    1452:1452:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    1452:1452:com.android.tools.r8.graph.Code com.android.tools.r8.graph.DexEncodedMethod.buildEmptyThrowingCode(com.android.tools.r8.utils.InternalOptions):807 -> a
+    1452:1452:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1710 -> a
+    1453:1454:com.android.tools.r8.graph.Code com.android.tools.r8.graph.DexEncodedMethod.buildEmptyThrowingCode(com.android.tools.r8.utils.InternalOptions):808:809 -> a
+    1453:1454:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1710 -> a
+    1455:1456:void finalizeEmptyThrowingCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1711:1712 -> a
+    1457:1457:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1746:1746 -> a
+    1458:1467:boolean shouldComputeInliningConstraint(com.android.tools.r8.graph.ProgramMethod):1755:1764 -> a
+    1458:1467:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1748 -> a
+    1468:1470:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1749:1751 -> a
+    1471:1478:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1784:1791 -> a
+    1479:1479:boolean com.android.tools.r8.utils.InternalOptions.canHaveExceptionTargetingLoopHeaderBug():1569:1569 -> a
+    1479:1479:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1791 -> a
+    1480:1480:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1792:1792 -> a
+    1481:5225:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):0:3744 -> a
+    1481:5225:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1792 -> a
+    5226:5226:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> a
+    5226:5226:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3745 -> a
+    5226:5226:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1792 -> a
+    5227:5228:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3745:3746 -> a
+    5227:5228:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1792 -> a
+    5229:5242:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1794:1807 -> a
+    5243:5243:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Timing):1806:1806 -> a
+    5244:5245:com.android.tools.r8.graph.DexMethod lambda$materializeInstructionBeforeLongOperationsWorkaround$20(com.android.tools.r8.graph.DexItemFactory):1872:1873 -> a
+    5246:5246:com.android.tools.r8.graph.DexMethod lambda$materializeInstructionBeforeLongOperationsWorkaround$20(com.android.tools.r8.graph.DexItemFactory):1871:1871 -> a
+    5247:5247:boolean isNotPseudoInstruction(com.android.tools.r8.ir.code.Instruction):1919:1919 -> a
+    5248:5248:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1995:1995 -> a
+    5249:5249:void com.android.tools.r8.utils.CfgPrinter.resetUnusedValue():24:24 -> a
+    5249:5249:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1996 -> a
+    5250:5267:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1997:2014 -> a
+    1:7:boolean enableTryWithResourcesDesugaring():384:390 -> b
+    8:13:void updateMainDexListWithSynthesizedClassMap(com.android.tools.r8.graph.DexApplication$Builder):515:520 -> b
+    14:25:void updateMainDexListWithSynthesizedClassMap(com.android.tools.r8.graph.DexApplication$Builder):518:529 -> b
+    26:35:void convertMethods(com.android.tools.r8.graph.DexProgramClass):571:580 -> b
+    36:36:boolean lambda$convertMethods$3(com.android.tools.r8.graph.DexEncodedMethod):581:581 -> b
+    37:40:void lambda$optimize$9(com.android.tools.r8.ir.code.IRCode):828:831 -> b
+    41:41:void lambda$optimize$9(com.android.tools.r8.ir.code.IRCode):830:830 -> b
+    42:42:void waveStart(com.android.tools.r8.utils.collections.ProgramMethodSet):877:877 -> b
+    43:43:void processSynthesizedServiceLoaderMethods(com.android.tools.r8.graph.DexProgramClass,java.util.concurrent.ExecutorService):939:939 -> b
+    44:48:void forEachSynthesizedServiceLoaderMethod(com.android.tools.r8.graph.ProgramMethod):946:950 -> b
+    49:49:void forEachSynthesizedServiceLoaderMethod(com.android.tools.r8.graph.ProgramMethod):949:949 -> b
+    50:50:void lambda$processMethodsConcurrently$14(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessingId):1064:1064 -> b
+    51:60:com.android.tools.r8.utils.Timing processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1090:1099 -> b
+    61:65:void removeDeadCodeAndFinalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1691:1695 -> b
+    66:70:boolean lambda$workaroundForwardingInitializerBug$19(com.android.tools.r8.ir.code.Instruction):1835:1839 -> b
+    71:72:void printPhase(java.lang.String):1989:1990 -> b
+    1:1:boolean enableTwrCloseResourceDesugaring():380:380 -> c
+    2:21:void updateSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):542:561 -> c
+    22:28:void updateSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):560:566 -> c
     29:42:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.getWithAddedOrReplaced(com.android.tools.r8.graph.DexAnnotation):143:156 -> c
-    29:42:void updateSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):580 -> c
-    43:43:void updateSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):580:580 -> c
-    44:45:void lambda$computeReachabilitySensitivity$9(com.android.tools.r8.graph.DexProgramClass):894:895 -> c
-    46:50:void optimizeSynthesizedMethod(com.android.tools.r8.graph.ProgramMethod):1034:1038 -> c
-    51:52:com.android.tools.r8.utils.Timing rewriteCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1103:1104 -> c
-    53:53:com.android.tools.r8.utils.Timing rewriteCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1102:1102 -> c
-    54:54:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1862:1862 -> c
-    55:55:boolean com.android.tools.r8.utils.InternalOptions.canHaveDex2OatLinkedListBug():1508:1508 -> c
-    55:55:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1862 -> c
-    56:67:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1865:1876 -> c
-    68:70:boolean isLongMul(com.android.tools.r8.ir.code.Instruction):1922:1924 -> c
-    68:70:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1877 -> c
-    71:71:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1880:1880 -> c
-    72:73:boolean isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1929:1930 -> c
-    72:73:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1881 -> c
-    74:75:boolean isFallthoughTarget(com.android.tools.r8.ir.code.BasicBlock):1934:1935 -> c
-    74:75:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1884 -> c
-    76:77:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1887:1888 -> c
-    78:82:boolean isAliasOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):1908:1912 -> c
-    78:82:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1889 -> c
-    83:88:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1890:1895 -> c
-    89:100:void ensureThrowingInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):1944:1955 -> c
-    89:100:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1896 -> c
-    1:1:com.android.tools.r8.graph.DexType lambda$updateMainDexListWithSynthesizedClassMap$1(com.android.tools.r8.graph.DexProgramClass):533:533 -> d
-    2:2:java.util.List getOptimizationsForPostIRProcessing():1068:1068 -> d
-    3:3:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1811:1811 -> d
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.canHaveForwardingInitInliningBug():1545:1545 -> d
-    4:4:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1811 -> d
-    5:21:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1815:1831 -> d
-    22:25:void ensureInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):1961:1964 -> d
-    22:25:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1842 -> d
-    26:26:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> d
-    26:26:void ensureInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):1964 -> d
-    26:26:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1842 -> d
-    27:35:void ensureInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):1965:1973 -> d
-    27:35:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1842 -> d
-    1:1:com.android.tools.r8.graph.DexType lambda$updateSynthesizedClassMapping$2(com.android.tools.r8.graph.DexProgramClass):572:572 -> e
-    2:2:boolean isInWave():889:889 -> e
-    1:5:com.android.tools.r8.graph.DexApplication optimize():656:660 -> f
+    29:42:void updateSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):566 -> c
+    43:43:void updateSynthesizedClassMapping(com.android.tools.r8.graph.DexApplication$Builder):566:566 -> c
+    44:45:void lambda$computeReachabilitySensitivity$11(com.android.tools.r8.graph.DexProgramClass):907:908 -> c
+    46:50:void optimizeSynthesizedMethod(com.android.tools.r8.graph.ProgramMethod):1047:1051 -> c
+    51:52:com.android.tools.r8.utils.Timing rewriteCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1116:1117 -> c
+    53:53:com.android.tools.r8.utils.Timing rewriteCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):1115:1115 -> c
+    54:54:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1864:1864 -> c
+    55:55:boolean com.android.tools.r8.utils.InternalOptions.canHaveDex2OatLinkedListBug():1520:1520 -> c
+    55:55:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1864 -> c
+    56:67:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1867:1878 -> c
+    68:70:boolean isLongMul(com.android.tools.r8.ir.code.Instruction):1924:1926 -> c
+    68:70:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1879 -> c
+    71:71:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1882:1882 -> c
+    72:73:boolean isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1931:1932 -> c
+    72:73:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1883 -> c
+    74:75:boolean isFallthoughTarget(com.android.tools.r8.ir.code.BasicBlock):1936:1937 -> c
+    74:75:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1886 -> c
+    76:77:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1889:1890 -> c
+    78:82:boolean isAliasOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):1910:1914 -> c
+    78:82:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1891 -> c
+    83:88:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1892:1897 -> c
+    89:100:void ensureThrowingInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):1946:1957 -> c
+    89:100:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1898 -> c
+    1:1:com.android.tools.r8.graph.DexType lambda$updateMainDexListWithSynthesizedClassMap$1(com.android.tools.r8.graph.DexProgramClass):519:519 -> d
+    2:2:java.util.List getOptimizationsForPostIRProcessing():1081:1081 -> d
+    3:3:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1813:1813 -> d
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.canHaveForwardingInitInliningBug():1557:1557 -> d
+    4:4:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1813 -> d
+    5:21:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1817:1833 -> d
+    22:25:void ensureInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):1963:1966 -> d
+    22:25:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1844 -> d
+    26:26:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> d
+    26:26:void ensureInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):1966 -> d
+    26:26:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1844 -> d
+    27:35:void ensureInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):1967:1975 -> d
+    27:35:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1844 -> d
+    1:1:com.android.tools.r8.graph.DexType lambda$updateSynthesizedClassMapping$2(com.android.tools.r8.graph.DexProgramClass):558:558 -> e
+    2:2:boolean isInWave():902:902 -> e
+    1:5:com.android.tools.r8.graph.DexApplication optimize():664:668 -> f
 com.android.tools.r8.ir.conversion.LensCodeRewriter -> com.android.tools.r8.ir.conversion.Q:
-    java.util.Map protoFixupCache -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> b
-    boolean $assertionsDisabled -> d
+    java.util.Map protoFixupCache -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():102:102 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxer):109:109 -> <init>
     2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxer):107:111 -> <init>
@@ -30988,7 +30973,7 @@
     568:576:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):269:277 -> a
     577:596:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):276:295 -> a
     597:601:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):294:298 -> a
-    602:602:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    602:602:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     602:602:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):300 -> a
     603:603:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):300:300 -> a
     604:634:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):299:329 -> a
@@ -31021,7 +31006,7 @@
     1746:1746:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():297:297 -> a
     1746:1746:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):741 -> a
     1747:1783:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):742:778 -> a
-    1784:1784:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    1784:1784:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     1784:1784:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):778 -> a
     1785:1796:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):779:790 -> a
     1797:1797:com.android.tools.r8.ir.code.Instruction lambda$rewrite$2(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):438:438 -> a
@@ -31052,12 +31037,12 @@
     1:1:com.android.tools.r8.ir.code.Instruction lambda$rewrite$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):447:447 -> b
     1:1:com.android.tools.r8.ir.code.Instruction lambda$rewrite$7(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):486:486 -> c
 com.android.tools.r8.ir.conversion.LensCodeRewriter$InstructionReplacer -> com.android.tools.r8.ir.conversion.P:
-    com.android.tools.r8.ir.code.Instruction current -> b
-    java.util.Set affectedPhis -> d
-    com.android.tools.r8.ir.conversion.LensCodeRewriter this$0 -> e
-    com.android.tools.r8.ir.code.IRCode code -> a
-    com.android.tools.r8.ir.code.InstructionListIterator iterator -> c
-    boolean $assertionsDisabled -> f
+    com.android.tools.r8.ir.code.Instruction current -> c
+    java.util.Set affectedPhis -> e
+    com.android.tools.r8.ir.conversion.LensCodeRewriter this$0 -> f
+    com.android.tools.r8.ir.code.IRCode code -> b
+    com.android.tools.r8.ir.code.InstructionListIterator iterator -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():805:805 -> <clinit>
     1:5:void <init>(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set):813:817 -> <init>
     1:15:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction):822:836 -> a
@@ -31081,10 +31066,9 @@
     void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> b
     void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod) -> c
     void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
-    void methodNeverReturnsNull(com.android.tools.r8.graph.DexEncodedMethod) -> e
-    void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> f
-    void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod) -> g
-    void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod) -> h
+    void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> e
+    void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod) -> f
+    void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod) -> g
 com.android.tools.r8.ir.conversion.MethodProcessingId -> com.android.tools.r8.ir.conversion.T:
     int secondaryId -> b
     int primaryId -> a
@@ -31105,11 +31089,11 @@
     1:1:java.util.function.BiConsumer access$100(com.android.tools.r8.ir.conversion.MethodProcessingId$Factory):39:39 -> a
     2:3:com.android.tools.r8.ir.conversion.MethodProcessingId$Factory$ReservedMethodProcessingIds reserveIds(com.android.tools.r8.utils.collections.SortedProgramMethodSet):53:54 -> a
 com.android.tools.r8.ir.conversion.MethodProcessingId$Factory$ReservedMethodProcessingIds -> com.android.tools.r8.ir.conversion.U:
-    com.android.tools.r8.ir.conversion.MethodProcessingId$Factory this$0 -> d
-    com.android.tools.r8.utils.collections.ProgramMethodSet seen -> c
-    boolean $assertionsDisabled -> e
-    int numberOfReservedIds -> b
-    int firstReservedId -> a
+    com.android.tools.r8.ir.conversion.MethodProcessingId$Factory this$0 -> e
+    com.android.tools.r8.utils.collections.ProgramMethodSet seen -> d
+    boolean $assertionsDisabled -> a
+    int firstReservedId -> b
+    int numberOfReservedIds -> c
     1:1:void <clinit>():58:58 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.conversion.MethodProcessingId$Factory,int,int):66:66 -> <init>
     2:6:void <init>(com.android.tools.r8.ir.conversion.MethodProcessingId$Factory,int,int):64:68 -> <init>
@@ -31153,8 +31137,8 @@
     boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod) -> b
     1:1:com.android.tools.r8.ir.conversion.MethodProcessor$Phase getPhase():58:58 -> c
 com.android.tools.r8.ir.conversion.PartialCallGraphBuilder -> com.android.tools.r8.ir.conversion.X:
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.utils.collections.ProgramMethodSet seeds -> f
+    boolean $assertionsDisabled -> f
+    com.android.tools.r8.utils.collections.ProgramMethodSet seeds -> g
     1:1:void <clinit>():14:14 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet):19:21 -> <init>
     1:1:com.android.tools.r8.ir.conversion.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):14:14 -> a
@@ -31162,12 +31146,12 @@
     3:4:boolean verifyAllMethodsWithCodeExists():35:36 -> a
     1:1:void processMethod(com.android.tools.r8.graph.ProgramMethod):30:30 -> b
 com.android.tools.r8.ir.conversion.PostMethodProcessor -> com.android.tools.r8.ir.conversion.Z:
-    java.util.Map methodsMap -> b
-    java.util.Deque waves -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.utils.collections.SortedProgramMethodSet wave -> d
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.utils.collections.ProgramMethodSet processed -> e
+    java.util.Deque waves -> d
+    java.util.Map methodsMap -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.utils.collections.SortedProgramMethodSet wave -> e
+    com.android.tools.r8.utils.collections.ProgramMethodSet processed -> f
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():33:33 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.ir.conversion.CallGraph,com.android.tools.r8.ir.conversion.PostMethodProcessor$1):33:33 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.ir.conversion.CallGraph):44:44 -> <init>
@@ -31202,19 +31186,19 @@
     40:40:void put(com.android.tools.r8.utils.collections.ProgramMethodSet):91:91 -> a
     40:40:com.android.tools.r8.ir.conversion.PostMethodProcessor build(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):136 -> a
     41:49:com.android.tools.r8.ir.conversion.PostMethodProcessor build(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):138:146 -> a
-    50:50:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    50:50:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     50:50:void lambda$build$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):129 -> a
     51:52:void lambda$build$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):132:133 -> a
 com.android.tools.r8.ir.conversion.PostOptimization -> com.android.tools.r8.ir.conversion.a0:
     com.android.tools.r8.utils.collections.ProgramMethodSet methodsToRevisit() -> a
     java.util.Collection codeOptimizationsForPostProcessing() -> b
 com.android.tools.r8.ir.conversion.PrimaryMethodProcessor -> com.android.tools.r8.ir.conversion.b0:
-    com.android.tools.r8.ir.conversion.MethodProcessingId$Factory methodProcessingIdFactory -> b
-    java.util.Deque waves -> d
-    com.android.tools.r8.utils.collections.SortedProgramMethodSet wave -> e
-    com.android.tools.r8.ir.conversion.CallSiteInformation callSiteInformation -> a
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder postMethodProcessorBuilder -> c
+    com.android.tools.r8.ir.conversion.MethodProcessingId$Factory methodProcessingIdFactory -> c
+    com.android.tools.r8.utils.collections.SortedProgramMethodSet wave -> f
+    com.android.tools.r8.ir.conversion.CallSiteInformation callSiteInformation -> b
+    java.util.Deque waves -> e
+    com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder postMethodProcessorBuilder -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():32:32 -> <clinit>
     1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.ir.conversion.CallGraph):48:52 -> <init>
     1:268:com.android.tools.r8.ir.conversion.CallGraphBuilder com.android.tools.r8.ir.conversion.CallGraph.builder(com.android.tools.r8.graph.AppView):0:267 -> a
@@ -31296,14 +31280,14 @@
     com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> a
     1:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.Map,com.android.tools.r8.ir.code.Value):263:267 -> <init>
     1:29:void createAndInsertStringSwitch(com.android.tools.r8.ir.code.IRCode):276:304 -> a
-    30:30:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296:296 -> a
+    30:30:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291:291 -> a
     30:30:void createAndInsertStringSwitch(com.android.tools.r8.ir.code.IRCode):304 -> a
     31:31:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    31:31:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296 -> a
+    31:31:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291 -> a
     31:31:void createAndInsertStringSwitch(com.android.tools.r8.ir.code.IRCode):304 -> a
 com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo$Builder -> com.android.tools.r8.ir.conversion.g0:
-    boolean $assertionsDisabled -> b
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():198:198 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.conversion.StringSwitchConverter$1):198:198 -> <init>
     2:3:void <init>(com.android.tools.r8.graph.DexItemFactory):202:203 -> <init>
@@ -31318,10 +31302,10 @@
     20:635:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):221 -> a
     636:660:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):223:247 -> a
 com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping -> com.android.tools.r8.ir.conversion.j0:
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap mapping -> c
-    com.android.tools.r8.ir.code.Value stringHashValue -> b
-    boolean $assertionsDisabled -> d
-    com.android.tools.r8.ir.code.BasicBlock insertionBlock -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap mapping -> d
+    com.android.tools.r8.ir.code.Value stringHashValue -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock insertionBlock -> b
     1:1:void <clinit>():308:308 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.conversion.StringSwitchConverter$1):308:308 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):605:605 -> <init>
@@ -31329,11 +31313,11 @@
     1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$200(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping):308:308 -> a
     1:1:com.android.tools.r8.ir.code.Value access$500(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping):308:308 -> b
 com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder -> com.android.tools.r8.ir.conversion.i0:
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.code.Phi idValue -> c
-    com.android.tools.r8.ir.code.Value stringValue -> d
-    com.android.tools.r8.ir.code.BasicBlock continuationBlock -> a
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
+    com.android.tools.r8.ir.code.Value stringValue -> e
+    com.android.tools.r8.ir.code.Phi idValue -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock continuationBlock -> b
     1:1:void <clinit>():310:310 -> <clinit>
     1:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):321:325 -> <init>
     1:1:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping build(com.android.tools.r8.ir.code.BasicBlock):359:359 -> a
@@ -31375,9 +31359,9 @@
     953:1002:boolean addMappingForString(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexString,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):577 -> a
     1003:1016:boolean addMappingForString(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexString,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):579:592 -> a
     1:27:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):376:402 -> b
-    28:1551:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.startOfGotoChain():0:1523 -> b
-    28:1551:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):402 -> b
-    1552:1552:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):403:403 -> b
+    28:1532:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.startOfGotoChain():0:1504 -> b
+    28:1532:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):402 -> b
+    1533:1533:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):403:403 -> b
 com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils -> com.android.tools.r8.ir.conversion.k0:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():769:769 -> <clinit>
@@ -31389,11 +31373,11 @@
     18:23:com.android.tools.r8.ir.code.Value getStringHashValueFromIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.graph.DexItemFactory):799:804 -> a
     24:26:boolean isSameStringHashValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):830:832 -> a
 com.android.tools.r8.ir.conversion.StringSwitchRemover -> com.android.tools.r8.ir.conversion.q0:
-    com.android.tools.r8.ir.analysis.type.ClassTypeElement stringType -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.naming.IdentifierNameStringMarker identifierNameStringMarker -> b
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> d
+    com.android.tools.r8.ir.analysis.type.ClassTypeElement stringType -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.naming.IdentifierNameStringMarker identifierNameStringMarker -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> e
     1:1:void <clinit>():48:48 -> <clinit>
     1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.IdentifierNameStringMarker):55:59 -> <init>
     1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement access$300(com.android.tools.r8.ir.conversion.StringSwitchRemover):48:48 -> a
@@ -31407,77 +31391,77 @@
     1:1:com.android.tools.r8.graph.AppView access$500(com.android.tools.r8.ir.conversion.StringSwitchRemover):48:48 -> c
 com.android.tools.r8.ir.conversion.StringSwitchRemover$1 -> com.android.tools.r8.ir.conversion.m0:
 com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleEqualityBasedStringSwitchRemover -> com.android.tools.r8.ir.conversion.n0:
-    com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> g
-    com.android.tools.r8.ir.code.BasicBlock block -> f
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.ir.conversion.StringSwitchRemover this$0 -> i
-    java.util.Map structure -> h
+    com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> h
+    com.android.tools.r8.ir.code.BasicBlock block -> g
+    com.android.tools.r8.ir.conversion.StringSwitchRemover this$0 -> j
+    java.util.Map structure -> i
+    boolean $assertionsDisabled -> f
     1:1:void <clinit>():180:180 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.conversion.StringSwitchRemover,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.StringSwitch,java.util.Set,com.android.tools.r8.ir.conversion.StringSwitchRemover$1):180:180 -> <init>
     2:6:void <init>(com.android.tools.r8.ir.conversion.StringSwitchRemover,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.StringSwitch,java.util.Set):192:196 -> <init>
     1:2:java.util.Map createStructure(com.android.tools.r8.ir.code.StringSwitch):200:201 -> a
     3:22:void removeStringSwitch():207:226 -> a
-    23:23:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    23:23:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     23:23:void removeStringSwitch():226 -> a
     24:29:void removeStringSwitch():226:231 -> a
-    30:30:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    30:30:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     30:30:void removeStringSwitch():231 -> a
     31:50:void removeStringSwitch():231:250 -> a
     51:62:void removeStringSwitch():247:258 -> a
     63:64:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
     63:64:void removeStringSwitch():258 -> a
     65:65:void removeStringSwitch():258:258 -> a
-    66:66:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296:296 -> a
+    66:66:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291:291 -> a
     66:66:void removeStringSwitch():258 -> a
     67:67:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    67:67:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296 -> a
+    67:67:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291 -> a
     67:67:void removeStringSwitch():258 -> a
     68:77:void removeStringSwitch():259:268 -> a
 com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover -> com.android.tools.r8.ir.conversion.o0:
-    com.android.tools.r8.ir.code.BasicBlock idSwitchBlock -> h
-    boolean $assertionsDisabled -> n
-    com.android.tools.r8.ir.code.BasicBlock hashSwitchFallthroughBlock -> g
-    com.android.tools.r8.ir.conversion.StringSwitchRemover this$0 -> m
-    com.android.tools.r8.ir.code.BasicBlock hashSwitchBlock -> f
-    int nextStringId -> l
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap structure -> j
-    int nextBlockNumber -> k
-    com.android.tools.r8.ir.code.BasicBlock idSwitchFallthroughBlock -> i
+    com.android.tools.r8.ir.code.BasicBlock hashSwitchFallthroughBlock -> h
+    com.android.tools.r8.ir.code.BasicBlock hashSwitchBlock -> g
+    int nextBlockNumber -> l
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap structure -> k
+    int nextStringId -> m
+    com.android.tools.r8.ir.code.BasicBlock idSwitchFallthroughBlock -> j
+    com.android.tools.r8.ir.code.BasicBlock idSwitchBlock -> i
+    boolean $assertionsDisabled -> f
+    com.android.tools.r8.ir.conversion.StringSwitchRemover this$0 -> n
     1:1:void <clinit>():272:272 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.conversion.StringSwitchRemover,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.StringSwitch,java.util.Set,com.android.tools.r8.ir.conversion.StringSwitchRemover$1):272:272 -> <init>
     2:9:void <init>(com.android.tools.r8.ir.conversion.StringSwitchRemover,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.StringSwitch,java.util.Set):290:297 -> <init>
     1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap createStructure(com.android.tools.r8.ir.code.StringSwitch):306:307 -> a
     3:9:void lambda$createStructure$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.code.BasicBlock):309:315 -> a
     10:20:void removeStringSwitch():324:334 -> a
-    21:1158:com.android.tools.r8.ir.code.Phi com.android.tools.r8.ir.code.IRCode.createPhi(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement):0:1137 -> a
-    21:1158:void removeStringSwitch():334 -> a
-    1159:1167:void removeStringSwitch():335:343 -> a
-    1168:1168:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    1168:1168:void removeStringSwitch():343 -> a
-    1169:1172:void removeStringSwitch():343:346 -> a
-    1173:1199:void createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):411:437 -> a
-    1173:1199:void removeStringSwitch():367 -> a
-    1200:1200:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    1200:1200:void createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):437 -> a
-    1200:1200:void removeStringSwitch():367 -> a
-    1201:1209:void createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):437:445 -> a
-    1201:1209:void removeStringSwitch():367 -> a
-    1210:1226:void createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):444:460 -> a
-    1210:1226:void removeStringSwitch():367 -> a
-    1227:1239:void createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):459:471 -> a
-    1227:1239:void removeStringSwitch():367 -> a
-    1240:1243:void removeStringSwitch():368:371 -> a
-    1244:1252:com.android.tools.r8.ir.code.IntSwitch createHashSwitch(com.android.tools.r8.ir.code.Value):398:406 -> a
-    1244:1252:void removeStringSwitch():371 -> a
-    1253:1269:void removeStringSwitch():372:388 -> a
-    1270:1270:com.android.tools.r8.ir.code.IntSwitch createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):476:476 -> a
-    1270:1270:void removeStringSwitch():391 -> a
-    1271:1273:int[] com.android.tools.r8.utils.ArrayUtils.createIdentityArray(int):111:113 -> a
-    1271:1273:com.android.tools.r8.ir.code.IntSwitch createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):477 -> a
-    1271:1273:void removeStringSwitch():391 -> a
-    1274:1282:com.android.tools.r8.ir.code.IntSwitch createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):478:486 -> a
-    1274:1282:void removeStringSwitch():391 -> a
-    1283:1285:void removeStringSwitch():392:394 -> a
+    21:1162:com.android.tools.r8.ir.code.Phi com.android.tools.r8.ir.code.IRCode.createPhi(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement):0:1141 -> a
+    21:1162:void removeStringSwitch():334 -> a
+    1163:1171:void removeStringSwitch():335:343 -> a
+    1172:1172:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    1172:1172:void removeStringSwitch():343 -> a
+    1173:1176:void removeStringSwitch():343:346 -> a
+    1177:1203:void createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):411:437 -> a
+    1177:1203:void removeStringSwitch():367 -> a
+    1204:1204:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    1204:1204:void createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):437 -> a
+    1204:1204:void removeStringSwitch():367 -> a
+    1205:1213:void createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):437:445 -> a
+    1205:1213:void removeStringSwitch():367 -> a
+    1214:1230:void createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):444:460 -> a
+    1214:1230:void removeStringSwitch():367 -> a
+    1231:1243:void createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):459:471 -> a
+    1231:1243:void removeStringSwitch():367 -> a
+    1244:1247:void removeStringSwitch():368:371 -> a
+    1248:1256:com.android.tools.r8.ir.code.IntSwitch createHashSwitch(com.android.tools.r8.ir.code.Value):398:406 -> a
+    1248:1256:void removeStringSwitch():371 -> a
+    1257:1273:void removeStringSwitch():372:388 -> a
+    1274:1274:com.android.tools.r8.ir.code.IntSwitch createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):476:476 -> a
+    1274:1274:void removeStringSwitch():391 -> a
+    1275:1277:int[] com.android.tools.r8.utils.ArrayUtils.createIdentityArray(int):111:113 -> a
+    1275:1277:com.android.tools.r8.ir.code.IntSwitch createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):477 -> a
+    1275:1277:void removeStringSwitch():391 -> a
+    1278:1286:com.android.tools.r8.ir.code.IntSwitch createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):478:486 -> a
+    1278:1286:void removeStringSwitch():391 -> a
+    1287:1289:void removeStringSwitch():392:394 -> a
     1:1:int getAndIncrementNextBlockNumber():301:301 -> b
 com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleStringSwitchRemover -> com.android.tools.r8.ir.conversion.p0:
     java.util.ListIterator blockIterator -> b
@@ -31489,9 +31473,9 @@
     2:7:void <init>(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.StringSwitch,java.util.Set):169:174 -> <init>
     void removeStringSwitch() -> a
 com.android.tools.r8.ir.conversion.SwitchPayloadResolver -> com.android.tools.r8.ir.conversion.s0:
-    java.util.Map unresolvedPayload -> a
-    java.util.Map payloadToData -> b
-    boolean $assertionsDisabled -> c
+    java.util.Map unresolvedPayload -> b
+    java.util.Map payloadToData -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():16:16 -> <clinit>
     1:17:void <init>():16:32 -> <init>
     1:15:void resolve(com.android.tools.r8.code.SwitchPayload):45:59 -> a
@@ -31509,10 +31493,10 @@
     1:1:void <init>(int):26:26 -> <init>
     2:7:void <init>(int):22:27 -> <init>
 com.android.tools.r8.ir.conversion.TypeConstraintResolver -> com.android.tools.r8.ir.conversion.t0:
-    java.util.Map unificationParents -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.conversion.IRBuilder builder -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.ir.conversion.IRBuilder builder -> c
+    java.util.Map unificationParents -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():51:51 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRBuilder):57:57 -> <init>
     2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRBuilder):55:59 -> <init>
@@ -31606,13 +31590,13 @@
     1:1:boolean delegatingToConstructor():60 -> m
     2:2:boolean delegatingToConstructor():60:60 -> m
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter -> com.android.tools.r8.s.c.b:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set holders -> e
-    com.android.tools.r8.ir.desugar.BackportedMethodRewriter$RewritableMethods rewritableMethods -> c
-    boolean $assertionsDisabled -> g
-    java.util.Map methodProviders -> f
-    com.android.tools.r8.ir.conversion.IRConverter converter -> b
-    boolean enabled -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set holders -> f
+    com.android.tools.r8.ir.desugar.BackportedMethodRewriter$RewritableMethods rewritableMethods -> d
+    boolean enabled -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.conversion.IRConverter converter -> c
+    java.util.Map methodProviders -> g
     1:1:void <clinit>():68:68 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):83:83 -> <init>
     2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):80:96 -> <init>
@@ -31621,7 +31605,7 @@
     19:68:void com.android.tools.r8.ir.desugar.backports.BackportedMethods.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):52:101 -> a
     19:68:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):124 -> a
     69:73:void desugar(com.android.tools.r8.ir.code.IRCode):128:132 -> a
-    74:74:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
+    74:74:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
     74:74:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
     75:87:void desugar(com.android.tools.r8.ir.code.IRCode):134:146 -> a
     88:90:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):287:289 -> a
@@ -31631,12 +31615,12 @@
     101:101:void desugar(com.android.tools.r8.ir.code.IRCode):160 -> a
     102:102:void desugar(com.android.tools.r8.ir.code.IRCode):160:160 -> a
     103:112:void synthesizeUtilityClasses(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):179:188 -> a
-    113:113:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    113:113:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     113:113:void synthesizeUtilityClasses(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):188 -> a
     114:116:java.util.Collection findSynthesizedFrom(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexType):165:167 -> a
     114:116:void synthesizeUtilityClasses(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):190 -> a
     117:138:void synthesizeUtilityClasses(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):191:212 -> a
-    139:139:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    139:139:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     139:139:void synthesizeUtilityClasses(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):212 -> a
     140:146:void synthesizeUtilityClasses(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService):215:221 -> a
     147:147:void com.android.tools.r8.graph.DexEncodedMethod.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
@@ -31647,8 +31631,8 @@
     189:192:com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier getChecksumSupplier(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):280:283 -> a
     193:193:long lambda$getChecksumSupplier$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):283:283 -> a
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$InvokeRewriter -> com.android.tools.r8.s.c.b$a:
-    com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriter -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriter -> c
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():1446:1446 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter):1451:1452 -> <init>
     boolean requiresGenerationOfCode() -> a
@@ -31677,8 +31661,8 @@
     boolean requiresGenerationOfCode() -> a
     void rewriteInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView,java.util.Set) -> a
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$RewritableMethods -> com.android.tools.r8.s.c.b$e:
-    java.util.Map rewritable -> a
-    boolean $assertionsDisabled -> b
+    java.util.Map rewritable -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():292:292 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):297:297 -> <init>
     2:52:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):295:345 -> <init>
@@ -31711,25 +31695,25 @@
     1:61:void initializeJava9OptionalMethodProviders(com.android.tools.r8.graph.DexItemFactory):1283:1343 -> j
     1:7:void initializeStreamMethodProviders(com.android.tools.r8.graph.DexItemFactory):1404:1410 -> k
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$StatifyingMethodGenerator -> com.android.tools.r8.s.c.b$f:
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.DexType receiverType -> e
+    boolean $assertionsDisabled -> e
+    com.android.tools.r8.graph.DexType receiverType -> f
     1:1:void <clinit>():1547:1547 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String,com.android.tools.r8.graph.DexType):1553:1554 -> <init>
     1:8:com.android.tools.r8.graph.DexMethod provideMethod(com.android.tools.r8.graph.AppView):1559:1566 -> a
 com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory -> com.android.tools.r8.s.c.b$g:
     com.android.tools.r8.graph.Code create(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod) -> a
 com.android.tools.r8.ir.desugar.ClassProcessor -> com.android.tools.r8.s.c.g:
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.function.Consumer newSynthesizedMethodConsumer -> d
-    boolean $assertionsDisabled -> k
-    com.android.tools.r8.utils.MethodSignatureEquivalence equivalence -> e
-    com.android.tools.r8.ir.desugar.InterfaceMethodRewriter rewriter -> c
-    java.util.Map interfaceInfo -> i
-    boolean needsLibraryInfo -> f
-    java.util.Map newSyntheticMethods -> j
-    java.util.Map classInfo -> g
-    java.util.Map libraryClassInfo -> h
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.utils.MethodSignatureEquivalence equivalence -> f
+    com.android.tools.r8.ir.desugar.InterfaceMethodRewriter rewriter -> d
+    java.util.Map libraryClassInfo -> i
+    java.util.Map interfaceInfo -> j
+    boolean needsLibraryInfo -> g
+    java.util.Map newSyntheticMethods -> k
+    java.util.function.Consumer newSynthesizedMethodConsumer -> e
+    boolean $assertionsDisabled -> a
+    java.util.Map classInfo -> h
     1:1:void <clinit>():49:49 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter,java.util.function.Consumer):195:195 -> <init>
     2:32:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter,java.util.function.Consumer):176:206 -> <init>
@@ -31783,7 +31767,7 @@
     238:263:void lambda$computeClassInfo$1(com.android.tools.r8.ir.desugar.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):266 -> a
     264:264:void addForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):385:385 -> a
     264:264:void lambda$computeClassInfo$1(com.android.tools.r8.ir.desugar.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):266 -> a
-    265:265:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
+    265:265:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
     265:265:void addForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):388 -> a
     265:265:void lambda$computeClassInfo$1(com.android.tools.r8.ir.desugar.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):266 -> a
     266:267:void addForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):388:389 -> a
@@ -31822,9 +31806,9 @@
     9:14:com.android.tools.r8.ir.desugar.ClassProcessor$MethodSignatures visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.ClassProcessor$ReportingContext):485:490 -> b
     9:14:com.android.tools.r8.ir.desugar.ClassProcessor$MethodSignatures lambda$visitInterfaceInfo$5(com.android.tools.r8.ir.desugar.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):481 -> b
 com.android.tools.r8.ir.desugar.ClassProcessor$ClassInfo -> com.android.tools.r8.s.c.c:
-    com.android.tools.r8.ir.desugar.ClassProcessor$ClassInfo parent -> a
-    com.android.tools.r8.ir.desugar.ClassProcessor$ClassInfo EMPTY -> c
-    com.android.tools.r8.com.google.common.collect.ImmutableList forwardedMethodTargets -> b
+    com.android.tools.r8.ir.desugar.ClassProcessor$ClassInfo EMPTY -> a
+    com.android.tools.r8.ir.desugar.ClassProcessor$ClassInfo parent -> b
+    com.android.tools.r8.com.google.common.collect.ImmutableList forwardedMethodTargets -> c
     1:1:void <clinit>():88:88 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.desugar.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList):97:99 -> <init>
     1:2:boolean isTargetedByForwards(com.android.tools.r8.graph.DexEncodedMethod):114:115 -> a
@@ -31834,11 +31818,11 @@
     1:1:void <init>():153:153 -> <init>
     com.android.tools.r8.ir.desugar.ClassProcessor$ReportingContext forClass(com.android.tools.r8.graph.DexClass) -> a
     void reportMissingType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter) -> a
-    1:1:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    1:1:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):163 -> a
 com.android.tools.r8.ir.desugar.ClassProcessor$MethodSignatures -> com.android.tools.r8.s.c.e:
-    java.util.Set signatures -> a
-    com.android.tools.r8.ir.desugar.ClassProcessor$MethodSignatures EMPTY -> b
+    com.android.tools.r8.ir.desugar.ClassProcessor$MethodSignatures EMPTY -> a
+    java.util.Set signatures -> b
     1:1:void <clinit>():54:54 -> <clinit>
     1:2:void <init>(java.util.Set):62:63 -> <init>
     1:1:boolean isEmpty():79:79 -> a
@@ -31854,10 +31838,10 @@
     6:6:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):139:139 -> a
     7:7:void reportMissingType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter):143:143 -> a
 com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer -> com.android.tools.r8.s.c.h:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    int $r8$clinit -> d
-    com.android.tools.r8.ir.conversion.IRConverter converter -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexItemFactory factory -> d
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
+    com.android.tools.r8.ir.conversion.IRConverter converter -> c
     1:1:void <clinit>():55:55 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexItemFactory):59:61 -> <init>
     1:3:void process(com.android.tools.r8.graph.DexApplication$Builder):66:68 -> a
@@ -31915,52 +31899,49 @@
     181:181:boolean isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):256 -> a
     1:1:boolean lambda$updateClass$0(com.android.tools.r8.graph.DexAnnotation):101:101 -> b
 com.android.tools.r8.ir.desugar.D8NestBasedAccessDesugaring -> com.android.tools.r8.s.c.i:
-    boolean $assertionsDisabled -> i
-    java.util.Map metNestHosts -> h
-    1:1:void <clinit>():43:43 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView):50:50 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.AppView):47:47 -> <init>
-    1:16:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):54:69 -> a
-    17:17:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
-    17:17:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):69 -> a
-    18:28:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):70:80 -> a
-    29:29:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):35:35 -> a
-    29:29:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):80 -> a
-    30:34:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):79:83 -> a
-    35:41:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):82:88 -> a
-    42:42:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> a
-    42:42:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):88 -> a
-    43:52:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):89:98 -> a
-    53:53:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):97:97 -> a
-    54:56:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):91:93 -> a
-    57:57:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):92:92 -> a
-    58:62:void processNestsConcurrently(java.util.concurrent.ExecutorService):107:111 -> a
-    58:62:void desugarNestBasedAccess(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):138 -> a
-    63:65:void addDeferredBridges():115:117 -> a
-    63:65:void desugarNestBasedAccess(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):139 -> a
-    66:66:void desugarNestBasedAccess(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):140:140 -> a
-    67:71:void optimizeDeferredBridgesConcurrently(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):128:132 -> a
-    67:71:void desugarNestBasedAccess(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):141 -> a
-    72:73:void addDeferredBridges(java.util.Collection):121:122 -> a
-    74:74:boolean shouldProcessClassInNest(com.android.tools.r8.graph.DexClass,java.util.List):147:147 -> a
-    75:75:void reportIncompleteNest(java.util.List):157:157 -> a
-    1:1:void reportMissingNestHost(com.android.tools.r8.graph.DexClass):152:152 -> c
+    java.util.Map metNestHosts -> i
+    boolean $assertionsDisabled -> h
+    1:1:void <clinit>():44:44 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView):51:51 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.AppView):48:48 -> <init>
+    1:16:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):55:70 -> a
+    17:17:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
+    17:17:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):70 -> a
+    18:28:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):71:81 -> a
+    29:29:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):34:34 -> a
+    29:29:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):81 -> a
+    30:34:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):80:84 -> a
+    35:55:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):83:103 -> a
+    56:56:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):102:102 -> a
+    57:59:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):96:98 -> a
+    60:60:void rewriteNestBasedAccesses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):97:97 -> a
+    61:65:void processNestsConcurrently(java.util.concurrent.ExecutorService):112:116 -> a
+    61:65:void desugarNestBasedAccess(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):143 -> a
+    66:68:void addDeferredBridges():120:122 -> a
+    66:68:void desugarNestBasedAccess(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):144 -> a
+    69:69:void desugarNestBasedAccess(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):145:145 -> a
+    70:74:void optimizeDeferredBridgesConcurrently(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):133:137 -> a
+    70:74:void desugarNestBasedAccess(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):146 -> a
+    75:76:void addDeferredBridges(java.util.Collection):126:127 -> a
+    77:77:boolean shouldProcessClassInNest(com.android.tools.r8.graph.DexClass,java.util.List):152:152 -> a
+    78:78:void reportIncompleteNest(java.util.List):162:162 -> a
+    1:1:void reportMissingNestHost(com.android.tools.r8.graph.DexClass):157:157 -> c
 com.android.tools.r8.ir.desugar.DefaultMethodsHelper -> com.android.tools.r8.s.c.k:
     java.util.Set candidates -> a
     java.util.Set hidden -> b
     1:5:void <init>():17:21 -> <init>
     1:2:void merge(com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection):60:61 -> a
     3:5:void hideMatches(com.android.tools.r8.graph.DexMethod):65:67 -> a
-    6:160:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:154 -> a
-    6:160:void hideMatches(com.android.tools.r8.graph.DexMethod):68 -> a
-    161:162:void hideMatches(com.android.tools.r8.graph.DexMethod):69:70 -> a
-    163:163:void addDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):76:76 -> a
-    164:166:com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection wrapInCollection():81:83 -> a
+    6:193:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexEncodedMethod):0:187 -> a
+    6:193:void hideMatches(com.android.tools.r8.graph.DexMethod):68 -> a
+    194:195:void hideMatches(com.android.tools.r8.graph.DexMethod):69:70 -> a
+    196:196:void addDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):76:76 -> a
+    197:199:com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection wrapInCollection():81:83 -> a
 com.android.tools.r8.ir.desugar.DefaultMethodsHelper$1 -> com.android.tools.r8.s.c.j:
 com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection -> com.android.tools.r8.s.c.k$a:
-    java.util.List hidden -> b
-    java.util.List live -> a
-    com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection EMPTY -> c
+    java.util.List live -> b
+    com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection EMPTY -> a
+    java.util.List hidden -> c
     1:2:void <clinit>():29:30 -> <clinit>
     1:1:void <init>(java.util.List,java.util.List,com.android.tools.r8.ir.desugar.DefaultMethodsHelper$1):28:28 -> <init>
     2:4:void <init>(java.util.List,java.util.List):37:39 -> <init>
@@ -31968,131 +31949,121 @@
     2:4:com.android.tools.r8.graph.DexMethod getSingleCandidate(com.android.tools.r8.graph.DexMethod):46:48 -> a
     1:1:java.util.List access$100(com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection):28:28 -> b
 com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter -> com.android.tools.r8.s.c.l:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    java.util.Set trackedCallBackAPIs -> g
-    java.util.Set trackedAPIs -> h
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> i
-    int $r8$clinit -> j
-    com.android.tools.r8.ir.desugar.DesugaredLibraryWrapperSynthesizer wrapperSynthesizor -> d
-    com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter$Mode mode -> c
-    java.util.Map callBackMethods -> e
-    java.util.Map pendingCallBackMethods -> f
-    1:1:void <clinit>():63:63 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter$Mode):85:85 -> <init>
-    2:23:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter$Mode):74:95 -> <init>
-    1:1:boolean canGenerateWrappersAndCallbacks():104:104 -> a
-    2:2:void desugar(com.android.tools.r8.ir.code.IRCode):109:109 -> a
-    3:3:boolean canGenerateWrappersAndCallbacks():104:104 -> a
-    3:3:void desugar(com.android.tools.r8.ir.code.IRCode):113 -> a
-    4:4:void desugar(com.android.tools.r8.ir.code.IRCode):114:114 -> a
-    5:8:boolean validateCallbackWasGeneratedInEnqueuer(com.android.tools.r8.graph.ProgramMethod):140:143 -> a
-    5:8:void desugar(com.android.tools.r8.ir.code.IRCode):114 -> a
-    9:9:com.android.tools.r8.graph.DexMethod methodWithVivifiedTypeInSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):257:257 -> a
-    9:9:boolean validateCallbackWasGeneratedInEnqueuer(com.android.tools.r8.graph.ProgramMethod):143 -> a
-    9:9:void desugar(com.android.tools.r8.ir.code.IRCode):114 -> a
-    10:10:com.android.tools.r8.graph.DexMethod methodWithVivifiedTypeInSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):256:256 -> a
-    10:10:boolean validateCallbackWasGeneratedInEnqueuer(com.android.tools.r8.graph.ProgramMethod):143 -> a
-    10:10:void desugar(com.android.tools.r8.ir.code.IRCode):114 -> a
-    11:11:boolean validateCallbackWasGeneratedInEnqueuer(com.android.tools.r8.graph.ProgramMethod):144:144 -> a
-    11:11:void desugar(com.android.tools.r8.ir.code.IRCode):114 -> a
-    12:28:void desugar(com.android.tools.r8.ir.code.IRCode):116:132 -> a
-    29:44:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):403:418 -> a
-    29:44:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    45:46:com.android.tools.r8.ir.code.Instruction createReturnConversionAndReplaceUses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):538:539 -> a
-    45:46:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):421 -> a
-    45:46:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    47:47:com.android.tools.r8.ir.code.Value createConversionValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.DexType):575:575 -> a
-    47:47:com.android.tools.r8.ir.code.Instruction createReturnConversionAndReplaceUses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):539 -> a
-    47:47:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):421 -> a
-    47:47:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    48:48:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    48:48:com.android.tools.r8.ir.code.Value createConversionValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.DexType):575 -> a
-    48:48:com.android.tools.r8.ir.code.Instruction createReturnConversionAndReplaceUses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):539 -> a
-    48:48:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):421 -> a
-    48:48:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    49:53:com.android.tools.r8.ir.code.Instruction createReturnConversionAndReplaceUses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):540:544 -> a
-    49:53:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):421 -> a
-    49:53:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    54:56:com.android.tools.r8.ir.code.Instruction createReturnConversionAndReplaceUses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):543:545 -> a
-    54:56:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):421 -> a
-    54:56:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    57:81:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):424:448 -> a
-    57:81:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    82:85:com.android.tools.r8.ir.code.Instruction createParameterConversion(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):529:532 -> a
-    82:85:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):450 -> a
-    82:85:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    86:86:com.android.tools.r8.ir.code.Value createConversionValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.DexType):575:575 -> a
-    86:86:com.android.tools.r8.ir.code.Instruction createParameterConversion(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):532 -> a
-    86:86:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):450 -> a
-    86:86:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    87:87:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    87:87:com.android.tools.r8.ir.code.Value createConversionValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.DexType):575 -> a
-    87:87:com.android.tools.r8.ir.code.Instruction createParameterConversion(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):532 -> a
-    87:87:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):450 -> a
-    87:87:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    88:88:com.android.tools.r8.ir.code.Instruction createParameterConversion(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):533:533 -> a
-    88:88:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):450 -> a
-    88:88:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    89:111:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):449:471 -> a
-    89:111:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    112:112:com.android.tools.r8.ir.code.Invoke com.android.tools.r8.ir.code.Invoke.create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List):67:67 -> a
-    112:112:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):467 -> a
-    112:112:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    113:115:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):473:473 -> a
-    113:115:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    120:136:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):478:494 -> a
-    120:136:void desugar(com.android.tools.r8.ir.code.IRCode):133 -> a
-    137:140:void addCallBackSignature(com.android.tools.r8.graph.ProgramMethod):247:250 -> a
-    141:141:java.util.Set lambda$addCallBackSignature$0(com.android.tools.r8.graph.DexClass):249:249 -> a
-    142:142:java.util.List lambda$addCallBackSignature$1(com.android.tools.r8.graph.DexProgramClass):250:250 -> a
-    143:157:com.android.tools.r8.graph.DexMethod methodWithVivifiedTypeInSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):262:276 -> a
-    158:163:void finalizeWrappers(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):284:289 -> a
-    164:171:void lambda$generateCallbackMethods$3(com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,java.util.List):302:309 -> a
-    172:172:java.util.List synthesizeWrappers(java.util.Map):317:317 -> a
-    173:173:com.android.tools.r8.graph.DexClasspathClass synthesizeClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,boolean):322:322 -> a
-    174:186:com.android.tools.r8.graph.ProgramMethod generateCallbackMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):327:339 -> a
-    174:186:void lambda$generateCallbackMethods$2(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexEncodedMethod):305 -> a
-    187:188:void lambda$generateCallbackMethods$2(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexEncodedMethod):306:307 -> a
-    189:195:void generateTrackDesugaredAPIWarnings(java.util.Set,java.lang.String):343:349 -> a
-    196:200:void reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,java.lang.String):353:357 -> a
-    201:203:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):373:375 -> a
-    204:206:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):374:376 -> a
-    207:219:void registerWrappersForLibraryInvokeIfRequired(com.android.tools.r8.graph.DexMethod):381:393 -> a
-    220:237:void splitIfCatchHandlers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.ListIterator):503:520 -> a
-    238:242:void registerConversionWrappers(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):549:553 -> a
-    243:253:com.android.tools.r8.graph.DexMethod createConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):561:571 -> a
-    254:254:com.android.tools.r8.graph.DexMethod createConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):570:570 -> a
-    255:256:boolean canConvert(com.android.tools.r8.graph.DexType):579:580 -> a
-    1:5:boolean shouldRewriteInvoke(com.android.tools.r8.graph.DexMethod):149:153 -> b
-    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
-    6:6:boolean shouldRewriteInvoke(com.android.tools.r8.graph.DexMethod):153 -> b
-    7:10:boolean shouldRewriteInvoke(com.android.tools.r8.graph.DexMethod):154:157 -> b
-    11:21:boolean overridesLibraryMethod(com.android.tools.r8.graph.ProgramMethod):193:203 -> b
-    22:22:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
-    22:22:boolean overridesLibraryMethod(com.android.tools.r8.graph.ProgramMethod):203 -> b
-    23:27:boolean overridesLibraryMethod(com.android.tools.r8.graph.ProgramMethod):207:211 -> b
-    28:28:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> b
-    28:28:boolean overridesLibraryMethod(com.android.tools.r8.graph.ProgramMethod):211 -> b
-    29:32:boolean overridesLibraryMethod(com.android.tools.r8.graph.ProgramMethod):214:217 -> b
-    33:51:com.android.tools.r8.utils.collections.SortedProgramMethodSet generateCallbackMethods():293:311 -> b
-    1:1:void registerCallbackIfRequired(com.android.tools.r8.graph.ProgramMethod):161:161 -> c
-    2:6:void registerCallback(com.android.tools.r8.graph.ProgramMethod):232:236 -> c
-    2:6:void registerCallbackIfRequired(com.android.tools.r8.graph.ProgramMethod):162 -> c
-    7:7:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> c
-    7:7:void registerCallback(com.android.tools.r8.graph.ProgramMethod):236 -> c
-    7:7:void registerCallbackIfRequired(com.android.tools.r8.graph.ProgramMethod):162 -> c
-    8:11:void registerCallback(com.android.tools.r8.graph.ProgramMethod):240:243 -> c
-    8:11:void registerCallbackIfRequired(com.android.tools.r8.graph.ProgramMethod):162 -> c
-    1:7:boolean shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):174:180 -> d
+    com.android.tools.r8.graph.DexItemFactory factory -> d
+    java.util.Set trackedCallBackAPIs -> i
+    com.android.tools.r8.ir.desugar.DesugaredLibraryWrapperSynthesizer wrapperSynthesizor -> f
+    java.util.Set trackedAPIs -> j
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter$Mode mode -> e
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
+    java.util.Map callBackMethods -> g
+    java.util.Map pendingCallBackMethods -> h
+    1:1:void <clinit>():64:64 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter$Mode):86:86 -> <init>
+    2:23:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter$Mode):75:96 -> <init>
+    1:1:boolean canGenerateWrappersAndCallbacks():105:105 -> a
+    2:2:void desugar(com.android.tools.r8.ir.code.IRCode):110:110 -> a
+    3:3:boolean canGenerateWrappersAndCallbacks():105:105 -> a
+    3:3:void desugar(com.android.tools.r8.ir.code.IRCode):114 -> a
+    4:4:void desugar(com.android.tools.r8.ir.code.IRCode):115:115 -> a
+    5:8:boolean validateCallbackWasGeneratedInEnqueuer(com.android.tools.r8.graph.ProgramMethod):141:144 -> a
+    5:8:void desugar(com.android.tools.r8.ir.code.IRCode):115 -> a
+    9:9:com.android.tools.r8.graph.DexMethod methodWithVivifiedTypeInSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):258:258 -> a
+    9:9:boolean validateCallbackWasGeneratedInEnqueuer(com.android.tools.r8.graph.ProgramMethod):144 -> a
+    9:9:void desugar(com.android.tools.r8.ir.code.IRCode):115 -> a
+    10:10:com.android.tools.r8.graph.DexMethod methodWithVivifiedTypeInSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):257:257 -> a
+    10:10:boolean validateCallbackWasGeneratedInEnqueuer(com.android.tools.r8.graph.ProgramMethod):144 -> a
+    10:10:void desugar(com.android.tools.r8.ir.code.IRCode):115 -> a
+    11:11:boolean validateCallbackWasGeneratedInEnqueuer(com.android.tools.r8.graph.ProgramMethod):145:145 -> a
+    11:11:void desugar(com.android.tools.r8.ir.code.IRCode):115 -> a
+    12:28:void desugar(com.android.tools.r8.ir.code.IRCode):117:133 -> a
+    29:44:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):404:419 -> a
+    29:44:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    45:48:com.android.tools.r8.ir.code.Instruction createReturnConversionAndReplaceUses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):539:542 -> a
+    45:48:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):422 -> a
+    45:48:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    49:49:com.android.tools.r8.ir.code.Value createConversionValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):578:578 -> a
+    49:49:com.android.tools.r8.ir.code.Instruction createReturnConversionAndReplaceUses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):542 -> a
+    49:49:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):422 -> a
+    49:49:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    50:53:com.android.tools.r8.ir.code.Instruction createReturnConversionAndReplaceUses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):543:546 -> a
+    50:53:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):422 -> a
+    50:53:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    54:56:com.android.tools.r8.ir.code.Instruction createReturnConversionAndReplaceUses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):545:547 -> a
+    54:56:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):422 -> a
+    54:56:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    57:81:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):425:449 -> a
+    57:81:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    82:85:com.android.tools.r8.ir.code.Instruction createParameterConversion(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):530:533 -> a
+    82:85:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):451 -> a
+    82:85:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    86:86:com.android.tools.r8.ir.code.Value createConversionValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):578:578 -> a
+    86:86:com.android.tools.r8.ir.code.Instruction createParameterConversion(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):533 -> a
+    86:86:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):451 -> a
+    86:86:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    87:87:com.android.tools.r8.ir.code.Instruction createParameterConversion(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):534:534 -> a
+    87:87:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):451 -> a
+    87:87:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    88:110:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):450:472 -> a
+    88:110:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    111:111:com.android.tools.r8.ir.code.Invoke com.android.tools.r8.ir.code.Invoke.create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List):67:67 -> a
+    111:111:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):468 -> a
+    111:111:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    112:114:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):474:474 -> a
+    112:114:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    119:135:void rewriteLibraryInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,java.util.ListIterator):479:495 -> a
+    119:135:void desugar(com.android.tools.r8.ir.code.IRCode):134 -> a
+    136:139:void addCallBackSignature(com.android.tools.r8.graph.ProgramMethod):248:251 -> a
+    140:140:java.util.Set lambda$addCallBackSignature$0(com.android.tools.r8.graph.DexClass):250:250 -> a
+    141:141:java.util.List lambda$addCallBackSignature$1(com.android.tools.r8.graph.DexProgramClass):251:251 -> a
+    142:156:com.android.tools.r8.graph.DexMethod methodWithVivifiedTypeInSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):263:277 -> a
+    157:162:void finalizeWrappers(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):285:290 -> a
+    163:170:void lambda$generateCallbackMethods$3(com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,java.util.List):303:310 -> a
+    171:171:java.util.List synthesizeWrappers(java.util.Map):318:318 -> a
+    172:172:com.android.tools.r8.graph.DexClasspathClass synthesizeClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,boolean):323:323 -> a
+    173:185:com.android.tools.r8.graph.ProgramMethod generateCallbackMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):328:340 -> a
+    173:185:void lambda$generateCallbackMethods$2(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexEncodedMethod):306 -> a
+    186:187:void lambda$generateCallbackMethods$2(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexEncodedMethod):307:308 -> a
+    188:194:void generateTrackDesugaredAPIWarnings(java.util.Set,java.lang.String):344:350 -> a
+    195:199:void reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,java.lang.String):354:358 -> a
+    200:202:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):374:376 -> a
+    203:205:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):375:377 -> a
+    206:218:void registerWrappersForLibraryInvokeIfRequired(com.android.tools.r8.graph.DexMethod):382:394 -> a
+    219:236:void splitIfCatchHandlers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.ListIterator):504:521 -> a
+    237:241:void registerConversionWrappers(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):551:555 -> a
+    242:252:com.android.tools.r8.graph.DexMethod createConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):563:573 -> a
+    253:253:com.android.tools.r8.graph.DexMethod createConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):572:572 -> a
+    254:255:boolean canConvert(com.android.tools.r8.graph.DexType):582:583 -> a
+    1:5:boolean shouldRewriteInvoke(com.android.tools.r8.graph.DexMethod):150:154 -> b
+    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
+    6:6:boolean shouldRewriteInvoke(com.android.tools.r8.graph.DexMethod):154 -> b
+    7:10:boolean shouldRewriteInvoke(com.android.tools.r8.graph.DexMethod):155:158 -> b
+    11:21:boolean overridesLibraryMethod(com.android.tools.r8.graph.ProgramMethod):194:204 -> b
+    22:22:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
+    22:22:boolean overridesLibraryMethod(com.android.tools.r8.graph.ProgramMethod):204 -> b
+    23:27:boolean overridesLibraryMethod(com.android.tools.r8.graph.ProgramMethod):208:212 -> b
+    28:28:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> b
+    28:28:boolean overridesLibraryMethod(com.android.tools.r8.graph.ProgramMethod):212 -> b
+    29:32:boolean overridesLibraryMethod(com.android.tools.r8.graph.ProgramMethod):215:218 -> b
+    33:51:com.android.tools.r8.utils.collections.SortedProgramMethodSet generateCallbackMethods():294:312 -> b
+    1:1:void registerCallbackIfRequired(com.android.tools.r8.graph.ProgramMethod):162:162 -> c
+    2:6:void registerCallback(com.android.tools.r8.graph.ProgramMethod):233:237 -> c
+    2:6:void registerCallbackIfRequired(com.android.tools.r8.graph.ProgramMethod):163 -> c
+    7:7:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> c
+    7:7:void registerCallback(com.android.tools.r8.graph.ProgramMethod):237 -> c
+    7:7:void registerCallbackIfRequired(com.android.tools.r8.graph.ProgramMethod):163 -> c
+    8:11:void registerCallback(com.android.tools.r8.graph.ProgramMethod):241:244 -> c
+    8:11:void registerCallbackIfRequired(com.android.tools.r8.graph.ProgramMethod):163 -> c
+    1:7:boolean shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):175:181 -> d
     8:8:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexEncodedMethod.proto():262:262 -> d
-    8:8:boolean shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):180 -> d
-    9:17:boolean shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):180:188 -> d
+    8:8:boolean shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):181 -> d
+    9:17:boolean shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):181:189 -> d
 com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter$Mode -> com.android.tools.r8.s.c.l$a:
     com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter$Mode GENERATE_CALLBACKS_AND_WRAPPERS -> a
     com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter$Mode ASSERT_CALLBACKS_AND_WRAPPERS_GENERATED -> b
-    1:2:void <clinit>():81:82 -> <clinit>
-    1:1:void <init>(java.lang.String,int):80:80 -> <init>
+    1:2:void <clinit>():82:83 -> <clinit>
+    1:1:void <init>(java.lang.String,int):81:81 -> <init>
 com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration -> com.android.tools.r8.s.c.m:
     java.util.Map customConversions -> i
     java.util.List dontRewriteInvocation -> j
@@ -32127,19 +32098,19 @@
     1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():119:119 -> k
     1:1:boolean isLibraryCompilation():115:115 -> l
 com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration$Builder -> com.android.tools.r8.s.c.m$a:
-    boolean $assertionsDisabled -> m
-    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> b
-    com.android.tools.r8.graph.DexItemFactory factory -> a
-    java.util.Map backportCoreLibraryMember -> i
-    java.util.Map customConversions -> j
-    java.util.Map rewritePrefix -> f
-    boolean libraryCompilation -> c
-    java.lang.String identifier -> e
-    java.util.Map emulateLibraryInterface -> g
-    java.util.List extraKeepRules -> l
-    java.lang.String synthesizedLibraryClassesPackagePrefix -> d
-    java.util.Map retargetCoreLibMember -> h
-    java.util.List dontRewriteInvocation -> k
+    com.android.tools.r8.graph.DexItemFactory factory -> b
+    java.lang.String identifier -> f
+    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> c
+    java.util.Map retargetCoreLibMember -> i
+    java.util.Map backportCoreLibraryMember -> j
+    java.util.Map customConversions -> k
+    boolean $assertionsDisabled -> a
+    java.util.List extraKeepRules -> m
+    java.lang.String synthesizedLibraryClassesPackagePrefix -> e
+    java.util.Map rewritePrefix -> g
+    java.util.List dontRewriteInvocation -> l
+    boolean libraryCompilation -> d
+    java.util.Map emulateLibraryInterface -> h
     1:1:void <clinit>():168:168 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexItemFactory):185:185 -> <init>
     2:15:void <init>(com.android.tools.r8.graph.DexItemFactory):173:186 -> <init>
@@ -32203,23 +32174,23 @@
     121:121:com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration parse(com.android.tools.r8.StringResource):58:58 -> a
     122:122:com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration parse(com.android.tools.r8.StringResource):50:50 -> a
 com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter -> com.android.tools.r8.s.c.r:
-    java.util.Map retargetLibraryMember -> b
-    java.util.Map virtualRewrites -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set emulatedDispatchMethods -> d
-    boolean $assertionsDisabled -> e
+    java.util.Map retargetLibraryMember -> c
+    java.util.Map virtualRewrites -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set emulatedDispatchMethods -> e
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():46:46 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):60:60 -> <init>
     2:15:void <init>(com.android.tools.r8.graph.AppView):52:65 -> <init>
     1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter):46:46 -> a
     2:4:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):70:72 -> a
-    5:5:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    5:5:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     5:5:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):73 -> a
     6:11:void warnMissingRetargetCoreLibraryMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):82:87 -> a
     6:11:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppView):75 -> a
     12:12:void visit(java.util.function.Consumer):92:92 -> a
     13:13:void desugar(com.android.tools.r8.ir.code.IRCode):96:96 -> a
-    14:14:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
+    14:14:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
     14:14:void desugar(com.android.tools.r8.ir.code.IRCode):100 -> a
     15:49:void desugar(com.android.tools.r8.ir.code.IRCode):101:135 -> a
     50:50:boolean com.android.tools.r8.graph.DexEncodedMethod.isFinal():330:330 -> a
@@ -32234,12 +32205,12 @@
     70:70:void synthesizeRetargetClasses(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):248:248 -> a
     71:71:void reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):439:439 -> a
     71:71:void access$800(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter,com.android.tools.r8.graph.DexLibraryClass,java.util.Set):46 -> a
-    72:72:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    72:72:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     72:72:void reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):439 -> a
     72:72:void access$800(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter,com.android.tools.r8.graph.DexLibraryClass,java.util.Set):46 -> a
     73:80:void reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):443:450 -> a
     73:80:void access$800(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter,com.android.tools.r8.graph.DexLibraryClass,java.util.Set):46 -> a
-    81:81:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
+    81:81:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
     81:81:void reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):452 -> a
     81:81:void access$800(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter,com.android.tools.r8.graph.DexLibraryClass,java.util.Set):46 -> a
     82:82:void reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):452:452 -> a
@@ -32259,16 +32230,16 @@
     1:1:java.util.Set access$600(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter):46:46 -> d
 com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$1 -> com.android.tools.r8.s.c.o:
 com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$EmulatedDispatchTreeFixer -> com.android.tools.r8.s.c.p:
-    com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter this$0 -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter this$0 -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():254:254 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter):254:254 -> <init>
     1:1:void fixApp(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):259:259 -> a
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     2:2:void fixApp(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):259 -> a
     3:3:void synthesizeEmulatedDispatchMethods(com.android.tools.r8.graph.DexApplication$Builder):352:352 -> a
     3:3:void fixApp(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):260 -> a
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     4:4:void synthesizeEmulatedDispatchMethods(com.android.tools.r8.graph.DexApplication$Builder):352 -> a
     4:4:void fixApp(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):260 -> a
     5:19:void synthesizeEmulatedDispatchMethods(com.android.tools.r8.graph.DexApplication$Builder):352:366 -> a
@@ -32294,19 +32265,19 @@
     67:75:void fixApp(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):260 -> a
     76:76:void fixApp(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):262:262 -> a
     77:77:void addInterfacesAndForwardingMethods(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):268:268 -> a
-    78:78:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    78:78:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     78:78:void addInterfacesAndForwardingMethods(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):268 -> a
     79:79:void addInterfacesAndForwardingMethods(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):268:268 -> a
     80:80:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():511:511 -> a
     80:80:void addInterfacesAndForwardingMethods(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):269 -> a
     81:91:void addInterfacesAndForwardingMethods(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):270:280 -> a
-    92:92:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    92:92:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     92:92:void addInterfacesAndForwardingMethods(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):280 -> a
     93:104:void addInterfacesAndForwardingMethods(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.conversion.IRConverter):284:295 -> a
     105:105:void lambda$addInterfacesAndForwardingMethods$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexType,java.util.List):288:288 -> a
     106:110:boolean inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Set):300:304 -> a
     106:110:void lambda$addInterfacesAndForwardingMethods$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexType,java.util.List):288 -> a
-    111:111:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    111:111:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     111:111:boolean inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Set):304 -> a
     111:111:void lambda$addInterfacesAndForwardingMethods$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexType,java.util.List):288 -> a
     112:119:boolean inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Set):305:312 -> a
@@ -32319,7 +32290,7 @@
     128:132:com.android.tools.r8.graph.DexEncodedMethod createForwardingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):344:348 -> a
     128:132:void addInterfacesAndForwardingMethods(com.android.tools.r8.graph.DexProgramClass,java.util.List,java.util.function.Consumer):332 -> a
     128:132:void lambda$addInterfacesAndForwardingMethods$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexType,java.util.List):289 -> a
-    133:133:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    133:133:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     133:133:com.android.tools.r8.graph.DexEncodedMethod createForwardingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):348 -> a
     133:133:void addInterfacesAndForwardingMethods(com.android.tools.r8.graph.DexProgramClass,java.util.List,java.util.function.Consumer):332 -> a
     133:133:void lambda$addInterfacesAndForwardingMethods$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexType,java.util.List):289 -> a
@@ -32333,14 +32304,14 @@
     136:137:void lambda$addInterfacesAndForwardingMethods$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexType,java.util.List):289 -> a
     138:138:void lambda$addInterfacesAndForwardingMethods$0(com.android.tools.r8.utils.collections.SortedProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):290:290 -> a
 com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$RetargetingSetup -> com.android.tools.r8.s.c.q:
-    com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter this$0 -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter this$0 -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():179:179 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter):179:179 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter,com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$1):179:179 -> <init>
     1:5:void setUpRetargeting():182:186 -> a
     1:5:void access$100(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$RetargetingSetup):179 -> a
-    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     6:6:void setUpRetargeting():186 -> a
     6:6:void access$100(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$RetargetingSetup):179 -> a
     7:7:void setUpRetargeting():188:188 -> a
@@ -32353,7 +32324,7 @@
     20:1105:boolean com.android.tools.r8.ir.desugar.InterfaceMethodRewriter.isEmulatedInterfaceDispatch(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):0:1085 -> a
     20:1105:void setUpRetargeting():194 -> a
     20:1105:void access$100(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$RetargetingSetup):179 -> a
-    1106:1106:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    1106:1106:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     1106:1106:boolean com.android.tools.r8.ir.desugar.InterfaceMethodRewriter.isEmulatedInterfaceDispatch(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):1086 -> a
     1106:1106:void setUpRetargeting():194 -> a
     1106:1106:void access$100(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$RetargetingSetup):179 -> a
@@ -32368,7 +32339,7 @@
     1119:1120:void handleEmulateDispatch(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):234:235 -> a
     1119:1120:void setUpRetargeting():200 -> a
     1119:1120:void access$100(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$RetargetingSetup):179 -> a
-    1121:1121:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    1121:1121:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     1121:1121:void handleEmulateDispatch(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):235 -> a
     1121:1121:void setUpRetargeting():200 -> a
     1121:1121:void access$100(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$RetargetingSetup):179 -> a
@@ -32383,24 +32354,24 @@
     1137:1137:void setUpRetargeting():206:206 -> a
     1137:1137:void access$100(com.android.tools.r8.ir.desugar.DesugaredLibraryRetargeter$RetargetingSetup):179 -> a
 com.android.tools.r8.ir.desugar.DesugaredLibraryWrapperSynthesizer -> com.android.tools.r8.s.c.s:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.graph.DexString dexWrapperPrefixDexString -> c
-    java.util.Map typeWrappers -> d
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.graph.DexItemFactory factory -> g
-    java.util.Set invalidWrappers -> f
-    com.android.tools.r8.graph.DexString vivifiedSourceFile -> i
-    java.util.Map vivifiedTypeWrappers -> e
-    java.lang.String dexWrapperPrefixString -> b
-    com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter converter -> h
+    java.util.Set invalidWrappers -> g
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.graph.DexString dexWrapperPrefixDexString -> d
+    com.android.tools.r8.graph.DexItemFactory factory -> h
+    com.android.tools.r8.graph.DexString vivifiedSourceFile -> j
+    boolean $assertionsDisabled -> a
+    java.lang.String dexWrapperPrefixString -> c
+    java.util.Map typeWrappers -> e
+    java.util.Map vivifiedTypeWrappers -> f
+    com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter converter -> i
     1:1:void <clinit>():95:95 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter):115:115 -> <init>
     2:19:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter):104:121 -> <init>
     1:1:boolean canGenerateWrapper(com.android.tools.r8.graph.DexType):129:129 -> a
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     2:2:boolean canGenerateWrapper(com.android.tools.r8.graph.DexType):129 -> a
     3:6:boolean canGenerateWrapper(com.android.tools.r8.graph.DexType):130:133 -> a
-    7:7:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    7:7:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     7:7:boolean canGenerateWrapper(com.android.tools.r8.graph.DexType):133 -> a
     8:10:com.android.tools.r8.graph.DexType createWrapperType(com.android.tools.r8.graph.DexType,java.lang.String):149:149 -> a
     8:10:com.android.tools.r8.graph.DexType lambda$getWrapper$0(com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexType):158 -> a
@@ -32423,12 +32394,12 @@
     67:78:com.android.tools.r8.graph.DexClasspathClass synthesizeClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,boolean):354:365 -> a
     79:83:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):330:334 -> a
     79:83:com.android.tools.r8.graph.DexClasspathClass synthesizeClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,boolean):369 -> a
-    84:84:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    84:84:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     84:84:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):334 -> a
     84:84:com.android.tools.r8.graph.DexClasspathClass synthesizeClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,boolean):369 -> a
     85:85:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):335:335 -> a
     85:85:com.android.tools.r8.graph.DexClasspathClass synthesizeClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,boolean):369 -> a
-    86:86:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    86:86:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     86:86:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):335 -> a
     86:86:com.android.tools.r8.graph.DexClasspathClass synthesizeClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,boolean):369 -> a
     87:87:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForClasspathMock(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):335:335 -> a
@@ -32447,13 +32418,13 @@
     128:128:void com.android.tools.r8.graph.DexEncodedMethod.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
     128:128:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.Code):414 -> a
     129:151:java.util.List allImplementedMethods(com.android.tools.r8.graph.DexClass):420:442 -> a
-    152:152:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    152:152:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     152:152:java.util.List allImplementedMethods(com.android.tools.r8.graph.DexClass):442 -> a
     153:153:java.util.List allImplementedMethods(com.android.tools.r8.graph.DexClass):444:444 -> a
-    154:154:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    154:154:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     154:154:java.util.List allImplementedMethods(com.android.tools.r8.graph.DexClass):444 -> a
     155:161:java.util.List allImplementedMethods(com.android.tools.r8.graph.DexClass):444:450 -> a
-    162:162:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    162:162:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     162:162:java.util.List allImplementedMethods(com.android.tools.r8.graph.DexClass):450 -> a
     163:164:java.util.List allImplementedMethods(com.android.tools.r8.graph.DexClass):451:452 -> a
     165:165:com.android.tools.r8.graph.DexField wrappedValueField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):459:459 -> a
@@ -32476,14 +32447,14 @@
     184:198:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):290:304 -> a
     184:198:com.android.tools.r8.graph.DexProgramClass generateTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):185 -> a
     184:198:java.util.List synthesizeWrappers(java.util.Map):509 -> a
-    199:199:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    199:199:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     199:199:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):304 -> a
     199:199:com.android.tools.r8.graph.DexProgramClass generateTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):185 -> a
     199:199:java.util.List synthesizeWrappers(java.util.Map):509 -> a
     200:200:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):305:305 -> a
     200:200:com.android.tools.r8.graph.DexProgramClass generateTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):185 -> a
     200:200:java.util.List synthesizeWrappers(java.util.Map):509 -> a
-    201:201:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    201:201:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     201:201:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):305 -> a
     201:201:com.android.tools.r8.graph.DexProgramClass generateTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):185 -> a
     201:201:java.util.List synthesizeWrappers(java.util.Map):509 -> a
@@ -32539,7 +32510,7 @@
     248:261:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):238:251 -> a
     248:261:com.android.tools.r8.graph.DexProgramClass generateVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):198 -> a
     248:261:java.util.List synthesizeWrappers(java.util.Map):518 -> a
-    262:262:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    262:262:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     262:262:com.android.tools.r8.graph.DexEncodedMethod[] synthesizeVirtualMethodsForVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):251 -> a
     262:262:com.android.tools.r8.graph.DexProgramClass generateVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):198 -> a
     262:262:java.util.List synthesizeWrappers(java.util.Map):518 -> a
@@ -32588,26 +32559,26 @@
     342:342:com.android.tools.r8.graph.DexEncodedMethod synthesizeConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):592 -> a
     1:2:com.android.tools.r8.graph.DexType getTypeWrapper(com.android.tools.r8.graph.DexType):138:139 -> b
     1:1:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):167:167 -> c
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> c
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> c
     2:2:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):167 -> c
     3:4:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):169:170 -> c
-    5:5:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> c
+    5:5:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> c
     5:5:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):170 -> c
     6:7:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):170:171 -> c
     1:2:com.android.tools.r8.graph.DexType getVivifiedTypeWrapper(com.android.tools.r8.graph.DexType):144:145 -> d
     1:1:boolean hasSynthesized(com.android.tools.r8.graph.DexType):125:125 -> e
 com.android.tools.r8.ir.desugar.InterfaceMethodRewriter -> com.android.tools.r8.s.c.t:
-    com.android.tools.r8.graph.DexItemFactory factory -> d
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.utils.collections.SortedProgramMethodSet synthesizedMethods -> g
-    java.util.concurrent.ConcurrentMap requiredDispatchClasses -> i
-    boolean $assertionsDisabled -> j
-    int $r8$clinit -> k
-    com.android.tools.r8.utils.InternalOptions options -> c
-    java.util.Set emulatedMethods -> f
-    java.util.Map emulatedInterfaces -> e
-    com.android.tools.r8.ir.conversion.IRConverter converter -> b
-    java.util.Map cache -> h
+    com.android.tools.r8.ir.conversion.IRConverter converter -> d
+    java.util.Set emulatedMethods -> h
+    com.android.tools.r8.utils.collections.SortedProgramMethodSet synthesizedMethods -> i
+    java.util.concurrent.ConcurrentMap requiredDispatchClasses -> k
+    com.android.tools.r8.graph.DexItemFactory factory -> f
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.utils.InternalOptions options -> e
+    java.util.Map cache -> j
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
+    java.util.Map emulatedInterfaces -> g
     1:1:void <clinit>():96:96 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):138:138 -> <init>
     2:37:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):109:144 -> <init>
@@ -32618,7 +32589,7 @@
     10:13:void registerType(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType):163:166 -> a
     14:17:void lambda$registerType$2(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexEncodedMethod):168:171 -> a
     18:23:void initializeEmulatedInterfaceVariables():179:184 -> a
-    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     24:24:void initializeEmulatedInterfaceVariables():184 -> a
     25:26:void initializeEmulatedInterfaceVariables():187:188 -> a
     27:27:void addRewritePrefix(com.android.tools.r8.graph.DexType,java.lang.String):195:195 -> a
@@ -32660,7 +32631,7 @@
     307:307:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):306 -> a
     308:308:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):307:307 -> a
     309:324:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):305:320 -> a
-    325:325:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    325:325:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     325:325:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):320 -> a
     326:337:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):321:332 -> a
     338:338:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType):746:746 -> a
@@ -32669,7 +32640,7 @@
     341:348:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):333:340 -> a
     349:355:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):338:344 -> a
     356:384:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):342:370 -> a
-    385:385:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    385:385:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     385:385:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):370 -> a
     386:387:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):375:376 -> a
     388:388:com.android.tools.r8.graph.DexMethod privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod):842:842 -> a
@@ -32694,7 +32665,7 @@
     433:476:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):368:411 -> a
     477:477:void rewriteCurrentInstructionToEmulatedInterfaceCall(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator):471:471 -> a
     477:477:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):413 -> a
-    478:478:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    478:478:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     478:478:void rewriteCurrentInstructionToEmulatedInterfaceCall(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator):471 -> a
     478:478:void rewriteMethodReferences(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):413 -> a
     479:482:void rewriteCurrentInstructionToEmulatedInterfaceCall(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator):471:474 -> a
@@ -32717,14 +32688,14 @@
     494:495:java.util.Map processInterfaces(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor):1024 -> a
     496:506:java.util.Map processInterfaces(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor):1025:1035 -> a
     507:507:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):487:487 -> a
-    508:508:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    508:508:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     508:508:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):487 -> a
     509:513:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):487:491 -> a
     514:519:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.DexType,java.util.Set,java.util.Map):546:551 -> a
-    520:520:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    520:520:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     520:520:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.DexType,java.util.Set,java.util.Map):551 -> a
     521:530:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.DexType,java.util.Set,java.util.Map):553:562 -> a
-    531:531:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    531:531:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     531:531:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.DexType,java.util.Set,java.util.Map):562 -> a
     532:532:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.DexType,java.util.Set,java.util.Map):564:564 -> a
     533:538:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):595:600 -> a
@@ -32733,12 +32704,12 @@
     546:546:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):607 -> a
     547:547:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):607:607 -> a
     548:566:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):606:624 -> a
-    567:567:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    567:567:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     567:567:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):624 -> a
     568:568:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):625:625 -> a
     569:575:boolean implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):571:577 -> a
     569:575:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):625 -> a
-    576:576:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    576:576:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     576:576:boolean implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):577 -> a
     576:576:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):625 -> a
     577:577:boolean implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):579:579 -> a
@@ -32746,7 +32717,7 @@
     578:583:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):626:631 -> a
     584:584:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):629:629 -> a
     585:599:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):626:640 -> a
-    600:600:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    600:600:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     600:600:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):640 -> a
     601:605:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):641:645 -> a
     606:606:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType):746:746 -> a
@@ -32762,7 +32733,7 @@
     630:630:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):657:657 -> a
     631:675:com.android.tools.r8.graph.DexProgramClass synthesizeEmulateInterfaceLibraryClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):656:700 -> a
     676:677:void reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethodHandle):718:719 -> a
-    678:678:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    678:678:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     678:678:void reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethodHandle):719 -> a
     679:683:void reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethodHandle):723:727 -> a
     684:684:java.lang.String getCompanionClassDescriptor(java.lang.String):734:734 -> a
@@ -32778,14 +32749,14 @@
     709:711:com.android.tools.r8.graph.DexEncodedMethod[] renameHolder(java.util.List,com.android.tools.r8.graph.DexType):897:899 -> a
     709:711:com.android.tools.r8.graph.DexEncodedMethod[] renameHolder(java.lang.Iterable,com.android.tools.r8.graph.DexType):893 -> a
     712:712:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):976:976 -> a
-    713:713:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    713:713:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     713:713:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):976 -> a
     714:717:java.util.Map processEmulatedInterfaceHierarchy():534:537 -> a
     714:717:void generateEmulateInterfaceLibrary(com.android.tools.r8.graph.DexApplication$Builder):515 -> a
     714:717:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):977 -> a
     718:719:void generateEmulateInterfaceLibrary(com.android.tools.r8.graph.DexApplication$Builder):516:517 -> a
     718:719:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):977 -> a
-    720:720:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    720:720:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     720:720:void generateEmulateInterfaceLibrary(com.android.tools.r8.graph.DexApplication$Builder):517 -> a
     720:720:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):977 -> a
     721:725:void generateEmulateInterfaceLibrary(com.android.tools.r8.graph.DexApplication$Builder):519:523 -> a
@@ -32799,12 +32770,12 @@
     728:729:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):977 -> a
     730:740:void duplicateEmulatedInterfaces():907:917 -> a
     730:740:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):979 -> a
-    741:741:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    741:741:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     741:741:void duplicateEmulatedInterfaces():917 -> a
     741:741:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):979 -> a
     742:743:void duplicateEmulatedInterfaces():918:919 -> a
     742:743:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):979 -> a
-    744:744:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    744:744:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     744:744:void duplicateEmulatedInterfaces():919 -> a
     744:744:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):979 -> a
     745:745:void duplicateEmulatedInterfaces():920:920 -> a
@@ -32812,7 +32783,7 @@
     746:754:java.util.List emulatedInterfacesOf(com.android.tools.r8.graph.DexClass):942:950 -> a
     746:754:void duplicateEmulatedInterfaces():921 -> a
     746:754:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):979 -> a
-    755:755:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    755:755:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     755:755:java.util.List emulatedInterfacesOf(com.android.tools.r8.graph.DexClass):950 -> a
     755:755:void duplicateEmulatedInterfaces():921 -> a
     755:755:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):979 -> a
@@ -32835,7 +32806,7 @@
     798:798:boolean isInMainDexList(com.android.tools.r8.graph.DexType):782:782 -> a
     798:798:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):994 -> a
     799:803:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):994:998 -> a
-    804:804:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    804:804:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     804:804:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):998 -> a
     805:806:void renameEmulatedInterfaces():848:849 -> a
     805:806:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):999 -> a
@@ -32849,7 +32820,7 @@
     820:820:com.android.tools.r8.graph.DexType inferEmulatedInterfaceName(com.android.tools.r8.graph.DexClass):871:871 -> a
     820:820:void renameEmulatedInterfaces():850 -> a
     820:820:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):999 -> a
-    821:821:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    821:821:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     821:821:com.android.tools.r8.graph.DexType inferEmulatedInterfaceName(com.android.tools.r8.graph.DexClass):871 -> a
     821:821:void renameEmulatedInterfaces():850 -> a
     821:821:void desugarInterfaceMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter$Flavor,java.util.concurrent.ExecutorService):999 -> a
@@ -32870,7 +32841,7 @@
     856:856:com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1144:1144 -> a
     857:858:com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1157:1158 -> a
     857:858:com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1148 -> a
-    859:859:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    859:859:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     859:859:com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1158 -> a
     859:859:com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1148 -> a
     860:863:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1113:1116 -> a
@@ -32892,10 +32863,10 @@
     900:900:com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1166:1166 -> a
     900:900:com.android.tools.r8.ir.desugar.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1148 -> a
     901:902:void reportDependencyEdge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.InternalOptions):1205:1206 -> a
-    903:903:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
+    903:903:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
     903:903:void reportDependencyEdge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.InternalOptions):1208 -> a
     904:908:void reportDependencyEdge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.InternalOptions):1209:1213 -> a
-    909:909:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
+    909:909:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
     909:909:void reportDependencyEdge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.InternalOptions):1214 -> a
     910:910:void reportDependencyEdge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.InternalOptions):1216:1216 -> a
     1:2:boolean dontRewrite(com.android.tools.r8.graph.DexMethod):496:497 -> b
@@ -32915,16 +32886,16 @@
     13:13:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType):769:769 -> c
     13:13:com.android.tools.r8.origin.Origin getMethodOrigin(com.android.tools.r8.graph.DexMethod):1134 -> c
     14:14:com.android.tools.r8.origin.Origin getMethodOrigin(com.android.tools.r8.graph.DexMethod):1136:1136 -> c
-    15:15:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> c
+    15:15:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> c
     15:15:com.android.tools.r8.origin.Origin getMethodOrigin(com.android.tools.r8.graph.DexMethod):1136 -> c
     16:16:com.android.tools.r8.origin.Origin getMethodOrigin(com.android.tools.r8.graph.DexMethod):1137:1137 -> c
-    17:17:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> c
+    17:17:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> c
     17:17:com.android.tools.r8.origin.Origin getMethodOrigin(com.android.tools.r8.graph.DexMethod):1137 -> c
     1:4:com.android.tools.r8.graph.DexType maximallySpecificEmulatedInterfaceOrNull(com.android.tools.r8.graph.DexMethod):423:426 -> d
-    5:5:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> d
+    5:5:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> d
     5:5:com.android.tools.r8.graph.DexType maximallySpecificEmulatedInterfaceOrNull(com.android.tools.r8.graph.DexMethod):426 -> d
     6:6:com.android.tools.r8.graph.DexType maximallySpecificEmulatedInterfaceOrNull(com.android.tools.r8.graph.DexMethod):434:434 -> d
-    7:7:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> d
+    7:7:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> d
     7:7:com.android.tools.r8.graph.DexType maximallySpecificEmulatedInterfaceOrNull(com.android.tools.r8.graph.DexMethod):434 -> d
     8:34:com.android.tools.r8.graph.DexType maximallySpecificEmulatedInterfaceOrNull(com.android.tools.r8.graph.DexMethod):434:460 -> d
     35:35:boolean isEmulatedInterface(com.android.tools.r8.graph.DexType):207:207 -> d
@@ -32951,10 +32922,10 @@
     1:5:void <clinit>():131:135 -> <clinit>
     1:1:void <init>(java.lang.String,int):127:127 -> <init>
 com.android.tools.r8.ir.desugar.InterfaceProcessor -> com.android.tools.r8.s.c.v:
-    java.util.Map syntheticClasses -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.desugar.InterfaceMethodRewriter rewriter -> b
-    boolean $assertionsDisabled -> d
+    java.util.Map syntheticClasses -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.desugar.InterfaceMethodRewriter rewriter -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():55:55 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter):64:64 -> <init>
     2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.InterfaceMethodRewriter):61:66 -> <init>
@@ -32982,7 +32953,7 @@
     66:68:com.android.tools.r8.graph.DexClass definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):332:334 -> a
     66:68:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):353 -> a
     66:68:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GraphLense$Builder):112 -> a
-    69:69:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    69:69:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     69:69:com.android.tools.r8.graph.DexClass definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):334 -> a
     69:69:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):353 -> a
     69:69:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GraphLense$Builder):112 -> a
@@ -33062,18 +33033,18 @@
     1:1:java.util.function.Consumer getRegistryCallback():32:32 -> getRegistryCallback
     1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():26:26 -> getSourceCodeProvider
 com.android.tools.r8.ir.desugar.LambdaClass -> com.android.tools.r8.s.c.E:
-    java.util.concurrent.atomic.AtomicBoolean addToMainDexList -> i
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.desugar.LambdaDescriptor descriptor -> d
-    boolean $assertionsDisabled -> l
-    com.android.tools.r8.graph.DexField lambdaField -> g
-    com.android.tools.r8.ir.desugar.LambdaClass$Target target -> h
-    java.util.function.Supplier lazyDexClass -> k
-    com.android.tools.r8.ir.desugar.LambdaRewriter rewriter -> b
-    com.android.tools.r8.graph.DexType type -> c
-    com.android.tools.r8.graph.DexMethod classConstructor -> f
-    com.android.tools.r8.graph.DexMethod constructor -> e
-    java.util.Collection synthesizedFrom -> j
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.desugar.LambdaDescriptor descriptor -> e
+    com.android.tools.r8.ir.desugar.LambdaRewriter rewriter -> c
+    com.android.tools.r8.graph.DexField lambdaField -> h
+    com.android.tools.r8.ir.desugar.LambdaClass$Target target -> i
+    com.android.tools.r8.graph.DexType type -> d
+    com.android.tools.r8.graph.DexMethod classConstructor -> g
+    com.android.tools.r8.graph.DexMethod constructor -> f
+    java.util.function.Supplier lazyDexClass -> l
+    java.util.Collection synthesizedFrom -> k
+    boolean $assertionsDisabled -> a
+    java.util.concurrent.atomic.AtomicBoolean addToMainDexList -> j
     1:1:void <clinit>():64:64 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.LambdaRewriter,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaDescriptor):84:84 -> <init>
     2:39:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.LambdaRewriter,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaDescriptor):74:111 -> <init>
@@ -33084,7 +33055,7 @@
     37:37:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):341:341 -> a
     38:62:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):364:388 -> a
     38:62:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):342 -> a
-    63:63:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    63:63:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     63:63:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):389 -> a
     63:63:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):342 -> a
     64:87:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):389:412 -> a
@@ -33151,8 +33122,8 @@
     111:111:com.android.tools.r8.graph.DexProgramClass synthesizeLambdaClass():168 -> d
     112:121:com.android.tools.r8.graph.DexProgramClass synthesizeLambdaClass():168:177 -> d
 com.android.tools.r8.ir.desugar.LambdaClass$ClassMethodWithAccessorTarget -> com.android.tools.r8.s.c.z:
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.ir.desugar.LambdaClass this$0 -> g
+    boolean $assertionsDisabled -> g
+    com.android.tools.r8.ir.desugar.LambdaClass this$0 -> h
     1:1:void <clinit>():726:726 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod):728:729 -> <init>
     1:15:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean):735:749 -> a
@@ -33161,12 +33132,12 @@
     17:21:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean):754:758 -> a
     22:22:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean):756:756 -> a
 com.android.tools.r8.ir.desugar.LambdaClass$InstanceLambdaImplTarget -> com.android.tools.r8.s.c.A:
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.ir.desugar.LambdaClass this$0 -> g
+    boolean $assertionsDisabled -> g
+    com.android.tools.r8.ir.desugar.LambdaClass this$0 -> h
     1:1:void <clinit>():644:644 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod):646:647 -> <init>
     1:5:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean):653:657 -> a
-    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     6:6:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean):657 -> a
     7:10:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean):657:660 -> a
     11:24:com.android.tools.r8.graph.DexEncodedMethod lambda$modifyLambdaImplementationMethod$0(com.android.tools.r8.graph.DexEncodedMethod):671:684 -> a
@@ -33183,12 +33154,12 @@
     75:75:void lambda$createSyntheticAccessor$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.UseRegistry):715:715 -> a
     1:24:com.android.tools.r8.graph.ProgramMethod modifyLambdaImplementationMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):667:690 -> b
 com.android.tools.r8.ir.desugar.LambdaClass$InterfaceLambdaImplTarget -> com.android.tools.r8.s.c.B:
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.ir.desugar.LambdaClass this$0 -> g
+    boolean $assertionsDisabled -> g
+    com.android.tools.r8.ir.desugar.LambdaClass this$0 -> h
     1:1:void <clinit>():592:592 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod):594:595 -> <init>
     1:2:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean):602:603 -> a
-    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     3:3:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean):603 -> a
     4:40:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean):603:639 -> a
     41:54:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.graph.DexEncodedMethod):613:626 -> a
@@ -33204,12 +33175,12 @@
     1:2:void <init>(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):575:576 -> <init>
     1:3:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean):582:584 -> a
 com.android.tools.r8.ir.desugar.LambdaClass$Target -> com.android.tools.r8.s.c.E$a:
-    com.android.tools.r8.ir.code.Invoke$Type invokeType -> b
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.ir.desugar.LambdaClass this$0 -> e
-    com.android.tools.r8.graph.DexMethod callTarget -> a
-    boolean hasEnsuredAccessibility -> c
-    com.android.tools.r8.graph.ProgramMethod accessibilityBridge -> d
+    com.android.tools.r8.graph.ProgramMethod accessibilityBridge -> e
+    com.android.tools.r8.ir.code.Invoke$Type invokeType -> c
+    com.android.tools.r8.ir.desugar.LambdaClass this$0 -> f
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexMethod callTarget -> b
+    boolean hasEnsuredAccessibility -> d
     1:1:void <clinit>():514:514 -> <clinit>
     1:5:void <init>(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):522:526 -> <init>
     com.android.tools.r8.graph.ProgramMethod ensureAccessibility(boolean) -> a
@@ -33247,19 +33218,19 @@
     1:1:java.util.function.Consumer getRegistryCallback():24:24 -> getRegistryCallback
     1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():19:19 -> getSourceCodeProvider
 com.android.tools.r8.ir.desugar.LambdaDescriptor -> com.android.tools.r8.s.c.J:
-    boolean $assertionsDisabled -> m
-    com.android.tools.r8.graph.MethodAccessFlags targetAccessFlags -> j
-    com.android.tools.r8.graph.DexType targetHolder -> k
-    com.android.tools.r8.graph.DexMethod mainMethod -> b
-    java.util.Set bridges -> h
-    com.android.tools.r8.graph.DexString name -> c
-    com.android.tools.r8.graph.DexProto erasedProto -> d
-    com.android.tools.r8.graph.DexProto enforcedProto -> e
-    java.lang.String uniqueId -> a
-    com.android.tools.r8.graph.DexMethodHandle implHandle -> f
-    java.util.List interfaces -> g
-    com.android.tools.r8.ir.desugar.LambdaDescriptor MATCH_FAILED -> l
-    com.android.tools.r8.graph.DexTypeList captures -> i
+    com.android.tools.r8.graph.MethodAccessFlags targetAccessFlags -> l
+    com.android.tools.r8.graph.DexMethodHandle implHandle -> h
+    com.android.tools.r8.graph.DexType targetHolder -> m
+    com.android.tools.r8.ir.desugar.LambdaDescriptor MATCH_FAILED -> a
+    com.android.tools.r8.graph.DexMethod mainMethod -> d
+    com.android.tools.r8.graph.DexProto enforcedProto -> g
+    java.util.Set bridges -> j
+    com.android.tools.r8.graph.DexString name -> e
+    com.android.tools.r8.graph.DexProto erasedProto -> f
+    java.util.List interfaces -> i
+    com.android.tools.r8.graph.DexTypeList captures -> k
+    java.lang.String uniqueId -> c
+    boolean $assertionsDisabled -> b
     1:8:void <clinit>():29:36 -> <clinit>
     1:1:void <init>():53:53 -> <init>
     2:19:void <init>():45:62 -> <init>
@@ -33307,7 +33278,7 @@
     14:46:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):82:114 -> a
     47:47:com.android.tools.r8.graph.DexType getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):57:57 -> a
     47:47:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):121 -> a
-    48:48:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):596:596 -> a
+    48:48:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):601:601 -> a
     48:48:com.android.tools.r8.graph.DexType getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):57 -> a
     48:48:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):121 -> a
     49:58:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):122:131 -> a
@@ -33317,7 +33288,7 @@
     62:62:void lambda$prepareInstructions$2(com.android.tools.r8.ir.desugar.LambdaClass$Target,com.android.tools.r8.graph.DexMethod,java.util.List,java.util.List,com.android.tools.r8.ir.conversion.IRBuilder):229:229 -> a
     63:65:boolean com.android.tools.r8.ir.desugar.LambdaClass$Target.holderIsInterface():542:544 -> a
     63:65:void lambda$prepareInstructions$2(com.android.tools.r8.ir.desugar.LambdaClass$Target,com.android.tools.r8.graph.DexMethod,java.util.List,java.util.List,com.android.tools.r8.ir.conversion.IRBuilder):235 -> a
-    66:66:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    66:66:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     66:66:boolean com.android.tools.r8.ir.desugar.LambdaClass$Target.holderIsInterface():544 -> a
     66:66:void lambda$prepareInstructions$2(com.android.tools.r8.ir.desugar.LambdaClass$Target,com.android.tools.r8.graph.DexMethod,java.util.List,java.util.List,com.android.tools.r8.ir.conversion.IRBuilder):235 -> a
     67:71:boolean com.android.tools.r8.ir.desugar.LambdaClass$Target.holderIsInterface():546:546 -> a
@@ -33329,7 +33300,7 @@
     85:102:int adjustType(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):289:306 -> a
     103:103:com.android.tools.r8.graph.DexType getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):57:57 -> a
     103:103:int adjustType(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):308 -> a
-    104:104:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):596:596 -> a
+    104:104:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):601:601 -> a
     104:104:com.android.tools.r8.graph.DexType getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):57 -> a
     104:104:int adjustType(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):308 -> a
     105:146:int adjustType(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):310:351 -> a
@@ -33376,8 +33347,8 @@
     80:81:void prepareInstructions():222 -> h
     82:112:void prepareInstructions():222:252 -> h
 com.android.tools.r8.ir.desugar.LambdaMainMethodSynthesizedCode -> com.android.tools.r8.s.c.L:
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.DexMethod mainMethod -> e
+    boolean $assertionsDisabled -> e
+    com.android.tools.r8.graph.DexMethod mainMethod -> f
     1:1:void <clinit>():15:15 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod):20:21 -> <init>
     1:1:com.android.tools.r8.ir.conversion.SourceCode lambda$getSourceCodeProvider$0(com.android.tools.r8.ir.code.Position):26:26 -> a
@@ -33388,12 +33359,12 @@
     1:1:java.util.function.Consumer getRegistryCallback():31:31 -> getRegistryCallback
     1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():26:26 -> getSourceCodeProvider
 com.android.tools.r8.ir.desugar.LambdaRewriter -> com.android.tools.r8.s.c.M:
-    com.android.tools.r8.graph.DexString instanceFieldName -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map knownCallSites -> d
-    com.android.tools.r8.com.google.common.collect.BiMap originalMethodSignatures -> c
-    boolean $assertionsDisabled -> f
-    java.util.Map knownLambdaClasses -> e
+    com.android.tools.r8.graph.DexString instanceFieldName -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.com.google.common.collect.BiMap originalMethodSignatures -> d
+    boolean $assertionsDisabled -> a
+    java.util.Map knownCallSites -> e
+    java.util.Map knownLambdaClasses -> f
     1:1:void <clinit>():50:50 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):75:75 -> <init>
     2:17:void <init>(com.android.tools.r8.graph.AppView):62:77 -> <init>
@@ -33411,7 +33382,7 @@
     37:38:void desugarLambdas(com.android.tools.r8.ir.code.IRCode):123:124 -> a
     39:50:void patchInstruction(com.android.tools.r8.ir.code.InvokeCustom,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set):275:286 -> a
     39:50:void desugarLambdas(com.android.tools.r8.ir.code.IRCode):129 -> a
-    51:51:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    51:51:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     51:51:void patchInstruction(com.android.tools.r8.ir.code.InvokeCustom,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set):285 -> a
     51:51:void desugarLambdas(com.android.tools.r8.ir.code.IRCode):129 -> a
     52:79:void patchInstruction(com.android.tools.r8.ir.code.InvokeCustom,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set):288:315 -> a
@@ -33421,7 +33392,7 @@
     80:162:void desugarLambdas(com.android.tools.r8.ir.code.IRCode):129 -> a
     163:171:void patchInstruction(com.android.tools.r8.ir.code.InvokeCustom,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set):314:322 -> a
     163:171:void desugarLambdas(com.android.tools.r8.ir.code.IRCode):129 -> a
-    172:172:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):35:35 -> a
+    172:172:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):34:34 -> a
     172:172:void patchInstruction(com.android.tools.r8.ir.code.InvokeCustom,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set):322 -> a
     172:172:void desugarLambdas(com.android.tools.r8.ir.code.IRCode):129 -> a
     173:188:void patchInstruction(com.android.tools.r8.ir.code.InvokeCustom,com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set):324:339 -> a
@@ -33443,7 +33414,7 @@
     227:233:java.lang.Object putIfAbsent(java.util.Map,java.lang.Object,java.lang.Object):256:262 -> a
     227:233:com.android.tools.r8.ir.desugar.LambdaClass getOrCreateLambdaClass(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):200 -> a
     234:238:com.android.tools.r8.ir.desugar.LambdaClass getOrCreateLambdaClass(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):200:204 -> a
-    239:239:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    239:239:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     239:239:com.android.tools.r8.ir.desugar.LambdaClass getOrCreateLambdaClass(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):204 -> a
     240:248:com.android.tools.r8.ir.desugar.LambdaClass getOrCreateLambdaClass(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):205:213 -> a
     249:261:void addRewritingPrefix(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):234:246 -> a
@@ -33463,165 +33434,161 @@
     270:272:java.lang.Object getKnown(java.util.Map,java.lang.Object):250:252 -> a
     273:273:java.util.Map getKnownLambdaClasses():343:343 -> a
 com.android.tools.r8.ir.desugar.LambdaSynthesizedCode -> com.android.tools.r8.s.c.N:
-    com.android.tools.r8.ir.desugar.LambdaClass lambda -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.ir.desugar.LambdaClass lambda -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():14:14 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.desugar.LambdaClass):19:20 -> <init>
     1:1:com.android.tools.r8.ir.desugar.LambdaDescriptor descriptor():28:28 -> a
     1:1:com.android.tools.r8.graph.DexType[] captures():32 -> a
     2:4:com.android.tools.r8.graph.DexType[] captures():32:34 -> a
 com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring -> com.android.tools.r8.s.c.O:
-    java.util.Map bridges -> b
-    java.util.Map getFieldBridges -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map putFieldBridges -> d
-    boolean nestConstructorUsed -> f
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.graph.DexProgramClass nestConstructor -> e
+    java.util.Map bridges -> c
+    java.util.Map getFieldBridges -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.graph.DexProgramClass nestConstructor -> f
+    boolean nestConstructorUsed -> g
+    boolean $assertionsDisabled -> a
+    java.util.Map putFieldBridges -> e
     1:1:void <clinit>():44:44 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):69:69 -> <init>
     2:11:void <init>(com.android.tools.r8.graph.AppView):62:71 -> <init>
     void reportIncompleteNest(java.util.List) -> a
     boolean shouldProcessClassInNest(com.android.tools.r8.graph.DexClass,java.util.List) -> a
     1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):84:84 -> a
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):84 -> a
-    3:17:com.android.tools.r8.utils.Pair extractNest(com.android.tools.r8.graph.DexClass):99:113 -> a
-    18:18:java.util.concurrent.Future asyncProcessNest(com.android.tools.r8.graph.DexProgramClass,java.util.concurrent.ExecutorService):117:117 -> a
-    19:22:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):119:122 -> a
-    23:27:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):130:134 -> a
-    23:27:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):122 -> a
-    28:32:void reportDesugarDependencies(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):161:165 -> a
-    28:32:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):138 -> a
-    28:32:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):122 -> a
-    33:40:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):139:146 -> a
-    33:40:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):122 -> a
+    3:17:com.android.tools.r8.utils.Pair extractNest(com.android.tools.r8.graph.DexClass):100:114 -> a
+    18:18:java.util.concurrent.Future asyncProcessNest(com.android.tools.r8.graph.DexProgramClass,java.util.concurrent.ExecutorService):118:118 -> a
+    19:22:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):120:123 -> a
+    23:27:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):131:135 -> a
+    23:27:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):123 -> a
+    28:32:void reportDesugarDependencies(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):162:166 -> a
+    28:32:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):139 -> a
+    28:32:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):123 -> a
+    33:40:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):140:147 -> a
+    33:40:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):123 -> a
     41:43:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):16:18 -> a
-    41:43:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):146 -> a
-    41:43:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):122 -> a
+    41:43:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):147 -> a
+    41:43:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):123 -> a
     44:44:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
     44:44:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):19 -> a
-    44:44:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):146 -> a
-    44:44:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):122 -> a
+    44:44:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):147 -> a
+    44:44:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):123 -> a
     45:45:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):21:21 -> a
-    45:45:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):146 -> a
-    45:45:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):122 -> a
-    46:46:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):149:149 -> a
-    46:46:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):122 -> a
-    47:66:com.android.tools.r8.graph.DexProgramClass createNestAccessConstructor():172:191 -> a
-    67:69:void synthesizeNestConstructor(com.android.tools.r8.graph.DexApplication$Builder):196:198 -> a
-    70:76:com.android.tools.r8.graph.DexMethod computeMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):233:239 -> a
-    77:84:com.android.tools.r8.graph.DexString computeMethodBridgeName(com.android.tools.r8.graph.DexEncodedMethod):207:214 -> a
-    77:84:com.android.tools.r8.graph.DexMethod computeMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):240 -> a
-    85:85:com.android.tools.r8.graph.DexMethod computeMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):240:240 -> a
-    86:93:boolean invokeRequiresRewriting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClassAndMethod):269:276 -> a
-    94:101:boolean fieldAccessRequiresRewriting(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClassAndMethod):280:287 -> a
-    102:103:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):307:308 -> a
-    104:105:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):250:251 -> a
-    104:105:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
+    45:45:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):147 -> a
+    45:45:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):123 -> a
+    46:46:void processNest(com.android.tools.r8.graph.DexClass,java.util.List):150:150 -> a
+    46:46:java.lang.Object lambda$asyncProcessNest$0(com.android.tools.r8.graph.DexProgramClass):123 -> a
+    47:66:com.android.tools.r8.graph.DexProgramClass createNestAccessConstructor():173:192 -> a
+    67:69:void synthesizeNestConstructor(com.android.tools.r8.graph.DexApplication$Builder):197:199 -> a
+    70:76:com.android.tools.r8.graph.DexMethod computeMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):234:240 -> a
+    77:84:com.android.tools.r8.graph.DexString computeMethodBridgeName(com.android.tools.r8.graph.DexEncodedMethod):208:215 -> a
+    77:84:com.android.tools.r8.graph.DexMethod computeMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):241 -> a
+    85:85:com.android.tools.r8.graph.DexMethod computeMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):241:241 -> a
+    86:93:boolean invokeRequiresRewriting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClassAndMethod):270:277 -> a
+    94:101:boolean fieldAccessRequiresRewriting(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClassAndMethod):281:288 -> a
+    102:103:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):308:309 -> a
+    104:105:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):251:252 -> a
+    104:105:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
     106:106:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    106:106:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):253 -> a
-    106:106:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
-    107:110:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):253:256 -> a
-    107:110:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
+    106:106:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):254 -> a
+    106:106:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
+    107:110:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):254:257 -> a
+    107:110:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
     111:111:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    111:111:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):258 -> a
-    111:111:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
-    112:117:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):259:264 -> a
-    112:117:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
-    118:118:com.android.tools.r8.graph.DexString computeFieldBridgeName(com.android.tools.r8.graph.DexEncodedField,boolean):218:218 -> a
-    118:118:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):265 -> a
-    118:118:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
+    111:111:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):259 -> a
+    111:111:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
+    112:117:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):260:265 -> a
+    112:117:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
+    118:118:com.android.tools.r8.graph.DexString computeFieldBridgeName(com.android.tools.r8.graph.DexEncodedField,boolean):219:219 -> a
+    118:118:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):266 -> a
+    118:118:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
     119:119:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    119:119:com.android.tools.r8.graph.DexString computeFieldBridgeName(com.android.tools.r8.graph.DexEncodedField,boolean):220 -> a
-    119:119:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):265 -> a
-    119:119:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
-    120:122:com.android.tools.r8.graph.DexString computeFieldBridgeName(com.android.tools.r8.graph.DexEncodedField,boolean):221:223 -> a
-    120:122:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):265 -> a
-    120:122:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
+    119:119:com.android.tools.r8.graph.DexString computeFieldBridgeName(com.android.tools.r8.graph.DexEncodedField,boolean):221 -> a
+    119:119:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):266 -> a
+    119:119:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
+    120:122:com.android.tools.r8.graph.DexString computeFieldBridgeName(com.android.tools.r8.graph.DexEncodedField,boolean):222:224 -> a
+    120:122:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):266 -> a
+    120:122:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
     123:123:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    123:123:com.android.tools.r8.graph.DexString computeFieldBridgeName(com.android.tools.r8.graph.DexEncodedField,boolean):224 -> a
-    123:123:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):265 -> a
-    123:123:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
-    124:128:com.android.tools.r8.graph.DexString computeFieldBridgeName(com.android.tools.r8.graph.DexEncodedField,boolean):225:229 -> a
-    124:128:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):265 -> a
-    124:128:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
-    129:129:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):265:265 -> a
-    129:129:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):309 -> a
-    130:138:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310:318 -> a
-    139:141:com.android.tools.r8.graph.ProgramMethod lambda$ensureFieldAccessBridge$1(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField):321:321 -> a
-    142:145:com.android.tools.r8.graph.ProgramMethod lambda$ensureInvokeBridge$2(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):346:349 -> a
-    146:146:com.android.tools.r8.graph.ProgramMethod lambda$ensureInvokeBridge$2(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):348:348 -> a
+    123:123:com.android.tools.r8.graph.DexString computeFieldBridgeName(com.android.tools.r8.graph.DexEncodedField,boolean):225 -> a
+    123:123:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):266 -> a
+    123:123:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
+    124:128:com.android.tools.r8.graph.DexString computeFieldBridgeName(com.android.tools.r8.graph.DexEncodedField,boolean):226:230 -> a
+    124:128:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):266 -> a
+    124:128:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
+    129:129:com.android.tools.r8.graph.DexMethod computeFieldBridge(com.android.tools.r8.graph.DexEncodedField,boolean):266:266 -> a
+    129:129:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):310 -> a
+    130:138:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexEncodedField,boolean):311:319 -> a
+    139:141:com.android.tools.r8.graph.ProgramMethod lambda$ensureFieldAccessBridge$1(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField):322:322 -> a
+    142:145:com.android.tools.r8.graph.ProgramMethod lambda$ensureInvokeBridge$2(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:350 -> a
+    146:146:com.android.tools.r8.graph.ProgramMethod lambda$ensureInvokeBridge$2(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):349:349 -> a
     1:2:com.android.tools.r8.graph.DexType getNestConstructorType():75:76 -> b
-    3:12:boolean holderRequiresBridge(com.android.tools.r8.graph.DexClass):293:302 -> b
-    13:18:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):328:333 -> b
-    19:20:com.android.tools.r8.graph.DexMethod computeInitializerBridge(com.android.tools.r8.graph.DexMethod):244:245 -> b
-    19:20:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):333 -> b
-    21:1914:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):0:1893 -> b
-    21:1914:com.android.tools.r8.graph.DexMethod computeInitializerBridge(com.android.tools.r8.graph.DexMethod):245 -> b
-    21:1914:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):333 -> b
-    1915:1918:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):1892:1895 -> b
-    1915:1918:com.android.tools.r8.graph.DexMethod computeInitializerBridge(com.android.tools.r8.graph.DexMethod):245 -> b
-    1915:1918:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):333 -> b
-    1919:1919:com.android.tools.r8.graph.DexMethod computeInitializerBridge(com.android.tools.r8.graph.DexMethod):246:246 -> b
-    1919:1919:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):333 -> b
-    1920:1928:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):335:343 -> b
+    3:12:boolean holderRequiresBridge(com.android.tools.r8.graph.DexClass):294:303 -> b
+    13:18:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):329:334 -> b
+    19:20:com.android.tools.r8.graph.DexMethod computeInitializerBridge(com.android.tools.r8.graph.DexMethod):245:246 -> b
+    19:20:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):334 -> b
+    21:1922:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):0:1901 -> b
+    21:1922:com.android.tools.r8.graph.DexMethod computeInitializerBridge(com.android.tools.r8.graph.DexMethod):246 -> b
+    21:1922:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):334 -> b
+    1923:1926:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):1900:1903 -> b
+    1923:1926:com.android.tools.r8.graph.DexMethod computeInitializerBridge(com.android.tools.r8.graph.DexMethod):246 -> b
+    1923:1926:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):334 -> b
+    1927:1927:com.android.tools.r8.graph.DexMethod computeInitializerBridge(com.android.tools.r8.graph.DexMethod):247:247 -> b
+    1927:1927:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):334 -> b
+    1928:1936:com.android.tools.r8.graph.DexMethod ensureInvokeBridge(com.android.tools.r8.graph.DexEncodedMethod):336:344 -> b
     void reportMissingNestHost(com.android.tools.r8.graph.DexClass) -> c
 com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess -> com.android.tools.r8.s.c.O$a:
     com.android.tools.r8.graph.DexEncodedField field -> a
     boolean isGet -> b
-    1:3:void <init>(com.android.tools.r8.graph.DexEncodedField,boolean):460:462 -> <init>
-    1:1:com.android.tools.r8.graph.DexField getField():523:523 -> a
-    1:1:com.android.tools.r8.graph.DexType getHolder():519:519 -> b
-    1:1:com.android.tools.r8.graph.DexType getType():515:515 -> c
-    1:1:boolean isInstance():495:495 -> d
-    1:1:boolean isInstanceGet():507 -> d
-    2:2:boolean isGet():483:483 -> d
-    2:2:boolean isInstanceGet():507 -> d
-    1:1:boolean isGet():483:483 -> e
-    1:1:boolean isPut():491 -> e
-    1:5:boolean equals(java.lang.Object):475:479 -> equals
-    1:1:boolean isStatic():487:487 -> f
-    1:1:boolean isStaticGet():499:499 -> g
-    2:2:boolean isGet():483:483 -> g
-    2:2:boolean isStaticGet():499 -> g
-    1:1:int hashCode():467:467 -> hashCode
+    1:3:void <init>(com.android.tools.r8.graph.DexEncodedField,boolean):464:466 -> <init>
+    1:1:com.android.tools.r8.graph.DexField getField():527:527 -> a
+    1:1:com.android.tools.r8.graph.DexType getHolder():523:523 -> b
+    1:1:com.android.tools.r8.graph.DexType getType():519:519 -> c
+    1:1:boolean isInstance():499:499 -> d
+    1:1:boolean isInstanceGet():511 -> d
+    2:2:boolean isGet():487:487 -> d
+    2:2:boolean isInstanceGet():511 -> d
+    1:1:boolean isGet():487:487 -> e
+    1:1:boolean isPut():495 -> e
+    1:5:boolean equals(java.lang.Object):479:483 -> equals
+    1:1:boolean isStatic():491:491 -> f
+    1:1:boolean isStaticGet():503:503 -> g
+    2:2:boolean isGet():487:487 -> g
+    2:2:boolean isStaticGet():503 -> g
+    1:1:int hashCode():471:471 -> hashCode
 com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$NestBasedAccessDesugaringUseRegistry -> com.android.tools.r8.s.c.P:
     com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring this$0 -> b
     com.android.tools.r8.graph.DexClassAndMethod context -> a
-    1:3:void <init>(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring,com.android.tools.r8.graph.DexClassAndMethod):357:359 -> <init>
-    1:4:boolean registerInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):365:368 -> a
-    5:6:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.definitionFor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):89:90 -> a
+    1:3:void <init>(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring,com.android.tools.r8.graph.DexClassAndMethod):358:360 -> <init>
+    1:4:boolean registerInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):366:369 -> a
+    5:6:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.lookupOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):89:90 -> a
     5:6:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.access$000(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):44 -> a
-    5:6:boolean registerInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):368 -> a
-    7:7:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
-    7:7:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.definitionFor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):89 -> a
+    5:6:boolean registerInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):369 -> a
+    7:7:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
+    7:7:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.lookupOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):89 -> a
     7:7:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.access$000(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):44 -> a
-    7:7:boolean registerInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):368 -> a
-    8:9:boolean registerInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):369:370 -> a
-    10:10:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):377:377 -> a
-    11:11:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.definitionFor(com.android.tools.r8.graph.DexField):94:94 -> a
-    11:11:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.access$100(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring,com.android.tools.r8.graph.DexField):44 -> a
-    11:11:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):377 -> a
-    12:12:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> a
-    12:12:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.definitionFor(com.android.tools.r8.graph.DexField):94 -> a
-    12:12:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.access$100(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring,com.android.tools.r8.graph.DexField):44 -> a
-    12:12:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):377 -> a
-    13:14:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):378:379 -> a
-    1:1:boolean registerInstanceFieldRead(com.android.tools.r8.graph.DexField):427:427 -> registerInstanceFieldRead
-    1:1:boolean registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):422:422 -> registerInstanceFieldWrite
-    1:1:boolean registerInvokeDirect(com.android.tools.r8.graph.DexMethod):400:400 -> registerInvokeDirect
-    1:1:boolean registerInvokeInterface(com.android.tools.r8.graph.DexMethod):412:412 -> registerInvokeInterface
-    1:1:boolean registerInvokeStatic(com.android.tools.r8.graph.DexMethod):405:405 -> registerInvokeStatic
-    1:1:boolean registerInvokeSuper(com.android.tools.r8.graph.DexMethod):417:417 -> registerInvokeSuper
-    1:1:boolean registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):395:395 -> registerInvokeVirtual
-    1:1:boolean registerStaticFieldRead(com.android.tools.r8.graph.DexField):440:440 -> registerStaticFieldRead
-    1:1:boolean registerStaticFieldWrite(com.android.tools.r8.graph.DexField):445:445 -> registerStaticFieldWrite
+    7:7:boolean registerInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):369 -> a
+    8:9:boolean registerInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):370:371 -> a
+    10:10:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):381:381 -> a
+    11:12:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.lookupOnHolder(com.android.tools.r8.graph.DexField):94:95 -> a
+    11:12:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring.access$100(com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring,com.android.tools.r8.graph.DexField):44 -> a
+    11:12:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):381 -> a
+    13:14:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):382:383 -> a
+    1:1:boolean registerInstanceFieldRead(com.android.tools.r8.graph.DexField):431:431 -> registerInstanceFieldRead
+    1:1:boolean registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):426:426 -> registerInstanceFieldWrite
+    1:1:boolean registerInvokeDirect(com.android.tools.r8.graph.DexMethod):404:404 -> registerInvokeDirect
+    1:1:boolean registerInvokeInterface(com.android.tools.r8.graph.DexMethod):416:416 -> registerInvokeInterface
+    1:1:boolean registerInvokeStatic(com.android.tools.r8.graph.DexMethod):409:409 -> registerInvokeStatic
+    1:1:boolean registerInvokeSuper(com.android.tools.r8.graph.DexMethod):421:421 -> registerInvokeSuper
+    1:1:boolean registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):399:399 -> registerInvokeVirtual
+    1:1:boolean registerStaticFieldRead(com.android.tools.r8.graph.DexField):444:444 -> registerStaticFieldRead
+    1:1:boolean registerStaticFieldWrite(com.android.tools.r8.graph.DexField):449:449 -> registerStaticFieldWrite
 com.android.tools.r8.ir.desugar.NestedPrivateMethodLense -> com.android.tools.r8.s.c.S:
-    java.util.Map getFieldMap -> b
-    java.util.Map putFieldMap -> c
-    com.android.tools.r8.graph.DexType nestConstructorType -> a
-    boolean $assertionsDisabled -> d
+    java.util.Map getFieldMap -> c
+    java.util.Map putFieldMap -> d
+    com.android.tools.r8.graph.DexType nestConstructorType -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():19:19 -> <clinit>
     1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.graph.GraphLense):34:40 -> <init>
     8:22:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.graph.GraphLense):33:47 -> <init>
@@ -33634,9 +33601,9 @@
     1:2:com.android.tools.r8.graph.DexMethod lookupPutFieldForMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):68:69 -> lookupPutFieldForMethod
     1:1:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):79:79 -> verifyIsContextFreeForMethod
 com.android.tools.r8.ir.desugar.NestedPrivateMethodLense$Builder -> com.android.tools.r8.s.c.Q:
-    boolean $assertionsDisabled -> h
-    java.util.Map getFieldMap -> f
-    java.util.Map putFieldMap -> g
+    boolean $assertionsDisabled -> f
+    java.util.Map getFieldMap -> g
+    java.util.Map putFieldMap -> h
     1:1:void <clinit>():132:132 -> <clinit>
     1:4:void <init>():132:135 -> <init>
     1:1:void mapGetField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):138:138 -> a
@@ -33652,12 +33619,12 @@
     boolean isRewriting() -> b
     com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView) -> b
 com.android.tools.r8.ir.desugar.PrefixRewritingMapper$DesugarPrefixRewritingMapper -> com.android.tools.r8.s.c.T$a:
-    java.util.Map rewritten -> b
-    java.util.Map initialPrefixes -> c
-    com.android.tools.r8.graph.DexItemFactory factory -> d
-    boolean l8Compilation -> e
-    boolean $assertionsDisabled -> f
-    java.util.Set notRewritten -> a
+    java.util.Map rewritten -> c
+    java.util.Map initialPrefixes -> d
+    com.android.tools.r8.graph.DexItemFactory factory -> e
+    boolean l8Compilation -> f
+    java.util.Set notRewritten -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():53:53 -> <clinit>
     1:1:void <init>(java.util.Map,com.android.tools.r8.utils.InternalOptions):61:61 -> <init>
     2:16:void <init>(java.util.Map,com.android.tools.r8.utils.InternalOptions):55:69 -> <init>
@@ -33690,7 +33657,7 @@
     19:23:void failIfRewritingProgramType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):126:130 -> b
     19:23:com.android.tools.r8.graph.DexType computePrefix(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):162 -> b
     19:23:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):121 -> b
-    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     24:24:void failIfRewritingProgramType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):131 -> b
     24:24:com.android.tools.r8.graph.DexType computePrefix(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):162 -> b
     24:24:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):121 -> b
@@ -33711,8 +33678,8 @@
     1:1:void <init>(com.android.tools.r8.graph.AppView):33:33 -> <init>
     boolean shouldProcessClassInNest(com.android.tools.r8.graph.DexClass,java.util.List) -> a
     1:1:com.android.tools.r8.ir.desugar.NestedPrivateMethodLense run(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication$Builder):39:39 -> a
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1288 -> a
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1300 -> a
     2:2:com.android.tools.r8.ir.desugar.NestedPrivateMethodLense run(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication$Builder):39 -> a
     3:5:com.android.tools.r8.ir.desugar.NestedPrivateMethodLense run(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication$Builder):39:39 -> a
     6:22:void computeAndProcessNestsConcurrently(java.util.concurrent.ExecutorService):77:93 -> a
@@ -33794,15 +33761,15 @@
     1:1:com.android.tools.r8.graph.DexMethod access$300(com.android.tools.r8.ir.desugar.StringConcatRewriter):40:40 -> c
 com.android.tools.r8.ir.desugar.StringConcatRewriter$1 -> com.android.tools.r8.s.c.W:
 com.android.tools.r8.ir.desugar.StringConcatRewriter$ConcatBuilder -> com.android.tools.r8.s.c.a0:
-    java.util.ListIterator blocks -> c
-    com.android.tools.r8.ir.code.BasicBlock currentBlock -> f
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.ir.code.Instruction invokeCustom -> e
-    com.android.tools.r8.ir.code.IRCode code -> b
-    com.android.tools.r8.ir.code.InstructionListIterator instructions -> d
-    java.util.List chunks -> g
-    com.android.tools.r8.ir.desugar.StringConcatRewriter this$0 -> h
+    com.android.tools.r8.ir.code.Instruction invokeCustom -> f
+    java.util.ListIterator blocks -> d
+    com.android.tools.r8.ir.code.BasicBlock currentBlock -> g
+    com.android.tools.r8.ir.desugar.StringConcatRewriter this$0 -> i
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.code.IRCode code -> c
+    com.android.tools.r8.ir.code.InstructionListIterator instructions -> e
+    java.util.List chunks -> h
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():284:284 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.desugar.StringConcatRewriter,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.desugar.StringConcatRewriter$1):284:284 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.desugar.StringConcatRewriter,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):297:297 -> <init>
@@ -33813,13 +33780,13 @@
     4:4:void addChunk(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod):314:314 -> a
     5:5:void addChunk(java.lang.String,com.android.tools.r8.graph.DexMethod):318:318 -> a
     6:11:void desugar():339:344 -> a
-    12:12:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    12:12:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     12:12:void desugar():344 -> a
     13:13:void desugar():345:345 -> a
     14:15:void appendInstruction(com.android.tools.r8.ir.code.Instruction):309:310 -> a
     14:15:void desugar():345 -> a
     16:17:void desugar():348:349 -> a
-    18:18:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):35:35 -> a
+    18:18:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):34:34 -> a
     18:18:void desugar():349 -> a
     19:20:void appendInstruction(com.android.tools.r8.ir.code.Instruction):309:310 -> a
     19:20:void desugar():348 -> a
@@ -33827,7 +33794,7 @@
     22:25:void com.android.tools.r8.ir.desugar.StringConcatRewriter$ConcatBuilder$Chunk.addAppendCall(com.android.tools.r8.ir.code.Value):413:413 -> a
     22:25:void desugar():353 -> a
     26:34:void desugar():357:365 -> a
-    35:35:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    35:35:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     35:35:void desugar():365 -> a
     36:38:void desugar():369:369 -> a
     41:68:void desugar():372:399 -> a
@@ -33846,13 +33813,13 @@
     java.lang.String str -> c
     1:3:void <init>(com.android.tools.r8.ir.desugar.StringConcatRewriter$ConcatBuilder,java.lang.String,com.android.tools.r8.graph.DexMethod):436:438 -> <init>
     1:1:com.android.tools.r8.ir.code.Value getOrCreateValue():443:443 -> a
-    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     2:2:com.android.tools.r8.ir.code.Value getOrCreateValue():443 -> a
     3:8:com.android.tools.r8.ir.code.Value getOrCreateValue():444:444 -> a
 com.android.tools.r8.ir.desugar.SynthesizedLambdaSourceCode -> com.android.tools.r8.s.c.c0:
-    boolean $assertionsDisabled -> n
-    com.android.tools.r8.ir.desugar.LambdaClass lambda -> m
-    com.android.tools.r8.graph.DexMethod currentMethod -> l
+    com.android.tools.r8.ir.desugar.LambdaClass lambda -> n
+    com.android.tools.r8.graph.DexMethod currentMethod -> m
+    boolean $assertionsDisabled -> l
     1:1:void <clinit>():15:15 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType):22:24 -> <init>
     4:4:void <init>(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):29:29 -> <init>
@@ -33865,12 +33832,12 @@
     1:1:com.android.tools.r8.graph.DexItemFactory factory():43:43 -> k
     1:1:java.lang.String toString():59:59 -> toString
 com.android.tools.r8.ir.desugar.TwrCloseResourceRewriter -> com.android.tools.r8.s.c.d0:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set referencingClasses -> d
-    boolean $assertionsDisabled -> e
-    int $r8$clinit -> f
-    com.android.tools.r8.graph.DexMethod twrCloseResourceMethod -> c
-    com.android.tools.r8.ir.conversion.IRConverter converter -> b
+    com.android.tools.r8.ir.conversion.IRConverter converter -> d
+    com.android.tools.r8.graph.AppView appView -> c
+    java.util.Set referencingClasses -> f
+    com.android.tools.r8.graph.DexMethod twrCloseResourceMethod -> e
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
     1:1:void <clinit>():50:50 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):62:62 -> <init>
     2:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):60:72 -> <init>
@@ -33935,7 +33902,7 @@
     614:614:void synthesizeUtilityClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions):137 -> a
     615:643:void synthesizeUtilityClass(com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions):140:168 -> a
     644:644:boolean lambda$synthesizeUtilityClass$0(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexProgramClass):165:165 -> a
-    645:645:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
+    645:645:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
     645:645:void rewriteMethodCode(com.android.tools.r8.ir.code.IRCode):82 -> a
     646:662:void rewriteMethodCode(com.android.tools.r8.ir.code.IRCode):83:99 -> a
     663:663:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
@@ -34450,47 +34417,48 @@
     7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):13:13 -> a
     8:11:java.util.Set com.android.tools.r8.utils.CollectionUtils.mergeSets(java.util.Collection,java.util.Collection):13:16 -> a
     12:13:java.util.Deque com.android.tools.r8.utils.DequeUtils.newArrayDeque(java.lang.Object):13:14 -> a
-    14:14:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext) -> a
-    15:75:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):0:60 -> a
-    15:75:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
-    76:81:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite.writeTo(java.io.OutputStream):77:82 -> a
-    76:81:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):61 -> a
-    76:81:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
-    82:82:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):62:62 -> a
-    82:82:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
-    83:83:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):59:59 -> a
-    83:83:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
-    84:89:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17:22 -> a
-    90:97:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):15:22 -> a
-    98:98:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):21:21 -> a
-    99:99:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):14:14 -> a
-    100:100:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):16:16 -> a
-    101:105:boolean com.android.tools.r8.ir.optimize.ArgumentRemovalUtils.isPinned(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):16:20 -> a
-    106:106:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):22:22 -> a
-    107:108:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Iterable):22:23 -> a
-    109:117:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmExtension com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.singleOfType(java.util.Collection,com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):25:33 -> a
-    118:118:int com.android.tools.r8.jetbrains.kotlinx.metadata.FlagsKt.flagsOf(com.android.tools.r8.jetbrains.kotlinx.metadata.Flag[]):27:27 -> a
-    119:119:int com.android.tools.r8.jetbrains.kotlinx.metadata.FlagsKt.flagsOf(com.android.tools.r8.jetbrains.kotlinx.metadata.Flag[]):24:24 -> a
-    120:120:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(int):28:28 -> a
-    121:124:void com.android.tools.r8.ir.desugar.backports.OptionalMethodRewrites.rewriteDoubleOrElseGet(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexItemFactory,java.util.Set):34:37 -> a
-    125:127:java.util.Set com.android.tools.r8.utils.SetUtils.mapIdentityHashSet(java.util.Set,java.util.function.Function):38:40 -> a
-    128:128:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):41:41 -> a
-    129:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.receiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):50:51 -> a
-    131:133:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.returnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):56:58 -> a
-    134:134:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureFromTo(int,int,int):57:57 -> a
-    135:135:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureFromTo(int,int,int):56:56 -> a
-    136:136:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureFromTo(int,int,int):55:55 -> a
-    137:144:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):58:65 -> a
-    145:152:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):61:61 -> a
-    153:153:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):62:62 -> a
-    154:164:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):61:61 -> a
-    171:171:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):68:68 -> a
-    172:175:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):61:61 -> a
-    178:178:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):64:64 -> a
-    179:185:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):61:61 -> a
-    193:193:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):69:69 -> a
-    194:196:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.type(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):70:72 -> a
-    197:197:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.NodesKt.addTo(java.lang.Object,java.util.Collection):971:971 -> a
+    14:15:void com.android.tools.r8.utils.FunctionUtils.forEachApply(java.lang.Iterable,java.util.function.Function,java.lang.Object) -> a
+    16:16:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):14:14 -> a
+    17:77:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):0:60 -> a
+    17:77:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
+    78:83:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite.writeTo(java.io.OutputStream):77:82 -> a
+    78:83:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):61 -> a
+    78:83:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
+    84:84:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):62:62 -> a
+    84:84:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
+    85:85:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):59:59 -> a
+    85:85:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
+    86:91:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17:22 -> a
+    92:99:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):15:22 -> a
+    100:100:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):21:21 -> a
+    101:101:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt.writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):14:14 -> a
+    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):16:16 -> a
+    103:107:boolean com.android.tools.r8.ir.optimize.ArgumentRemovalUtils.isPinned(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):16:20 -> a
+    108:108:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):22:22 -> a
+    109:110:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Iterable):22:23 -> a
+    111:119:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmExtension com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt.singleOfType(java.util.Collection,com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):25:33 -> a
+    120:120:int com.android.tools.r8.jetbrains.kotlinx.metadata.FlagsKt.flagsOf(com.android.tools.r8.jetbrains.kotlinx.metadata.Flag[]):27:27 -> a
+    121:121:int com.android.tools.r8.jetbrains.kotlinx.metadata.FlagsKt.flagsOf(com.android.tools.r8.jetbrains.kotlinx.metadata.Flag[]):24:24 -> a
+    122:125:void com.android.tools.r8.ir.desugar.backports.OptionalMethodRewrites.rewriteDoubleOrElseGet(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexItemFactory,java.util.Set):34:37 -> a
+    126:126:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(int):35:35 -> a
+    127:127:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):41:41 -> a
+    128:130:java.util.Set com.android.tools.r8.utils.SetUtils.mapIdentityHashSet(java.util.Set,java.util.function.Function):45:47 -> a
+    131:132:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.receiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):50:51 -> a
+    133:135:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.returnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):56:58 -> a
+    136:136:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureFromTo(int,int,int):57:57 -> a
+    137:137:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureFromTo(int,int,int):56:56 -> a
+    138:138:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureFromTo(int,int,int):55:55 -> a
+    139:146:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):58:65 -> a
+    147:154:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):61:61 -> a
+    155:155:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):62:62 -> a
+    156:166:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):61:61 -> a
+    173:173:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):68:68 -> a
+    174:177:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):61:61 -> a
+    180:180:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):64:64 -> a
+    181:187:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):61:61 -> a
+    195:195:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):69:69 -> a
+    196:198:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.type(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):70:72 -> a
+    199:199:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.NodesKt.addTo(java.lang.Object,java.util.Collection):971:971 -> a
     boolean com.android.tools.r8.utils.NumberUtils.is32Bit(long) -> b
     1:2:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):16:17 -> b
     3:6:void rewriteHashCode(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexItemFactory,java.util.Set):23:26 -> b
@@ -34513,13 +34481,13 @@
     1:3:void rewriteToInvokeMath(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexItemFactory,java.util.Set):19:21 -> c
     4:6:void rewriteToInvokeMath(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexItemFactory,java.util.Set):20:22 -> c
 com.android.tools.r8.ir.optimize.AssertionsRewriter -> com.android.tools.r8.ir.optimize.c:
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation defaultTransformation -> c
-    java.util.List configuration -> d
-    boolean enabled -> f
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation kotlinTransformation -> e
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.List configuration -> e
+    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation kotlinTransformation -> f
+    boolean enabled -> g
+    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation defaultTransformation -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():31:31 -> <clinit>
     1:18:void <init>(com.android.tools.r8.graph.AppView):84:101 -> <init>
     1:1:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString lambda$new$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.AssertionsConfiguration):98:98 -> a
@@ -34541,82 +34509,79 @@
     96:96:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
     97:106:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):314:323 -> a
     97:106:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    107:107:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    107:107:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     107:107:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):323 -> a
     107:107:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
     108:113:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):327:332 -> a
     108:113:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    114:114:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
+    114:114:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
     114:114:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):334 -> a
     114:114:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
     115:120:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):335:340 -> a
     115:120:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    121:134:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):375:388 -> a
+    121:134:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):378:391 -> a
     121:134:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     121:134:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
     135:135:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():19:19 -> a
-    135:135:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):389 -> a
+    135:135:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):392 -> a
     135:135:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     135:135:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    136:137:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):390:391 -> a
+    136:137:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):393:394 -> a
     136:137:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     136:137:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
     138:138:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():19:19 -> a
-    138:138:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):393 -> a
+    138:138:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):396 -> a
     138:138:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     138:138:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    139:139:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):394:394 -> a
+    139:139:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):397:397 -> a
     139:139:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     139:139:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
     140:140:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():19:19 -> a
-    140:140:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):395 -> a
+    140:140:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):398 -> a
     140:140:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     140:140:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    141:143:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):396:398 -> a
+    141:143:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):399:401 -> a
     141:143:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     141:143:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    144:144:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
-    144:144:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):399 -> a
+    144:144:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1119:1119 -> a
+    144:144:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):402 -> a
     144:144:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     144:144:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
     145:145:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    145:145:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):399 -> a
+    145:145:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):402 -> a
     145:145:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     145:145:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    146:146:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):403:403 -> a
+    146:146:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):406:406 -> a
     146:146:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     146:146:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    147:147:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
-    147:147:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):403 -> a
+    147:147:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1119:1119 -> a
+    147:147:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):406 -> a
     147:147:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     147:147:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
     148:148:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    148:148:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):402 -> a
+    148:148:void rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):405 -> a
     148:148:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):341 -> a
     148:148:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    149:149:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
-    149:149:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):343 -> a
+    149:149:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):343:343 -> a
     149:149:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
     150:150:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
     150:150:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):343 -> a
     150:150:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    151:163:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):346:358 -> a
-    151:163:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    164:164:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
-    164:164:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):358 -> a
-    164:164:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    165:165:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    165:165:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):357 -> a
-    165:165:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    166:169:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):361:364 -> a
-    166:169:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    170:170:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
-    170:170:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):363 -> a
-    170:170:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    171:171:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    171:171:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):362 -> a
-    171:171:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
-    172:172:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):308:308 -> a
+    151:165:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):346:360 -> a
+    151:165:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
+    166:166:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):358:358 -> a
+    166:166:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
+    167:167:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    167:167:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):357 -> a
+    167:167:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
+    168:172:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):363:367 -> a
+    168:172:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
+    173:173:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):365:365 -> a
+    173:173:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
+    174:174:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    174:174:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):364 -> a
+    174:174:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):307 -> a
+    175:175:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):308:308 -> a
 com.android.tools.r8.ir.optimize.AssertionsRewriter$1 -> com.android.tools.r8.ir.optimize.a:
 com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString -> com.android.tools.r8.ir.optimize.b:
     com.android.tools.r8.graph.DexString value -> b
@@ -34628,229 +34593,287 @@
     50:72:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):47:69 -> <init>
     1:1:com.android.tools.r8.AssertionsConfiguration access$000(com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString):33:33 -> a
     1:1:com.android.tools.r8.graph.DexString access$100(com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString):33:33 -> b
-com.android.tools.r8.ir.optimize.AssumeDynamicTypeRemover -> com.android.tools.r8.ir.optimize.d:
+com.android.tools.r8.ir.optimize.AssumeInserter -> com.android.tools.r8.ir.optimize.d:
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():57:57 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.graph.AppView):62:64 -> <init>
+    boolean lambda$computeDominanceForAssumedValues$2(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
+    boolean lambda$computeDominanceForAssumedValues$4(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
+    1:1:void insertAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):68:68 -> a
+    2:2:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):76:76 -> a
+    3:3:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):86:86 -> a
+    3:3:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    4:11:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues computeAssumedValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate):119:126 -> a
+    4:11:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):87 -> a
+    4:11:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    12:12:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):88:88 -> a
+    12:12:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    13:13:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():776:776 -> a
+    13:13:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):89 -> a
+    13:13:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    14:21:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):93:100 -> a
+    14:21:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    22:22:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():776:776 -> a
+    22:22:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):101 -> a
+    22:22:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    23:23:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):105:105 -> a
+    23:23:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    24:24:void removeRedundantDominatedAssumeInstructions(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,java.util.Map):458:458 -> a
+    24:24:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):106 -> a
+    24:24:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    25:25:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):107:107 -> a
+    25:25:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    26:26:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():776:776 -> a
+    26:26:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):108 -> a
+    26:26:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    27:29:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):112:114 -> a
+    27:29:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):77 -> a
+    30:30:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):78:78 -> a
+    31:50:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):139:158 -> a
+    51:56:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):157:162 -> a
+    57:70:boolean computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):267:280 -> a
+    57:70:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):162 -> a
+    71:71:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo.getDynamicUpperBoundTypeOrElse(com.android.tools.r8.ir.analysis.type.TypeElement):30:30 -> a
+    71:71:boolean computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):280 -> a
+    71:71:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):162 -> a
+    72:72:boolean computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):281:281 -> a
+    72:72:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):162 -> a
+    73:73:boolean computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):278:278 -> a
+    73:73:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):162 -> a
+    74:78:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):171:175 -> a
+    79:79:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.peekPrevious():27:27 -> a
+    79:79:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):176 -> a
+    80:90:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):176:186 -> a
+    91:91:boolean com.android.tools.r8.ir.code.If.isNullTest():93:93 -> a
+    91:91:boolean com.android.tools.r8.ir.code.If.isNonTrivialNullTest():97 -> a
+    91:91:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):187 -> a
+    92:92:boolean com.android.tools.r8.ir.code.If.isNonTrivialNullTest():97:97 -> a
+    92:92:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):187 -> a
+    93:97:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):188:192 -> a
+    98:104:boolean computeAssumedValuesForInvokeMethod(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):199:205 -> a
+    105:112:boolean computeAssumedValuesFromArrayClone(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):214:221 -> a
+    105:112:boolean computeAssumedValuesForInvokeMethod(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):206 -> a
+    113:113:boolean computeAssumedValuesForInvokeMethod(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):209:209 -> a
+    114:130:boolean computeAssumedValuesForOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):290:306 -> a
+    131:131:void removeRedundantAssumeInstructions(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):313:313 -> a
+    132:144:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):316:328 -> a
+    145:146:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.getAssumedValueInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):771:772 -> a
+    145:146:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):334 -> a
+    147:147:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):339:339 -> a
+    148:148:com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.getDynamicTypeAssumption():673:673 -> a
+    148:148:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):343 -> a
+    149:149:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):677:677 -> a
+    149:149:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):342 -> a
+    150:153:java.util.Map computeDominanceForAssumedValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):353:356 -> a
+    154:156:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):359:361 -> a
+    157:157:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isSubsumedBy(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):706:706 -> a
+    157:157:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):363 -> a
+    158:158:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.unknown():932:932 -> a
+    158:158:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.redundant():923 -> a
+    158:158:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):366 -> a
+    159:159:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):710:710 -> a
+    159:159:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):370 -> a
+    160:160:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setNotNull():702:702 -> a
+    160:160:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):711 -> a
+    160:160:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):370 -> a
+    161:161:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):713:713 -> a
+    161:161:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):370 -> a
+    162:162:com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.getDynamicTypeAssumption():673:673 -> a
+    162:162:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):714 -> a
+    162:162:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):370 -> a
+    163:163:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):677:677 -> a
+    163:163:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):714 -> a
+    163:163:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):370 -> a
+    164:164:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):375:375 -> a
+    165:165:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():911:911 -> a
+    165:165:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):376 -> a
+    166:182:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):383:399 -> a
+    183:183:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everythingElse():915:915 -> a
+    183:183:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):405 -> a
+    184:188:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):410:414 -> a
+    189:198:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):412:421 -> a
+    199:199:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance$Builder com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.builder(com.android.tools.r8.ir.code.Value):907:907 -> a
+    199:199:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):424 -> a
+    200:218:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):425:443 -> a
+    219:224:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):607:612 -> a
+    219:224:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):445 -> a
+    225:225:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
+    225:225:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):612 -> a
+    225:225:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):445 -> a
+    226:234:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):614:622 -> a
+    226:234:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):445 -> a
+    235:239:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):446:450 -> a
+    240:240:java.util.Set lambda$computeDominanceForAssumedValues$3(com.android.tools.r8.ir.code.DominatorTree,com.android.tools.r8.ir.code.BasicBlock):422:422 -> a
+    241:241:boolean lambda$materializeAssumeInstructions$7(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):493:493 -> a
+    242:248:void lambda$materializeAssumeInstructions$9(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.Map):502:508 -> a
+    249:249:void materializeSelectedAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,java.util.Set,java.util.Map,java.util.function.Predicate):523:523 -> a
+    250:255:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):525:530 -> a
+    256:256:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.getDominance():661:661 -> a
+    256:256:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):532 -> a
+    257:258:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isNull():693:694 -> a
+    257:258:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):534 -> a
+    259:259:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):535:535 -> a
+    260:260:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    260:260:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):535 -> a
+    261:264:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):537:540 -> a
+    265:293:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):536:564 -> a
+    294:299:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):561:566 -> a
+    300:301:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isNull():693:694 -> a
+    300:301:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):569 -> a
+    302:320:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):570:588 -> a
+    321:326:void lambda$materializeSelectedAssumeInstructions$11(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):552:557 -> a
+    327:327:java.util.Map lambda$materializeSelectedAssumeInstructions$12(com.android.tools.r8.ir.code.BasicBlock):586:586 -> a
+    328:333:com.android.tools.r8.ir.code.BasicBlock getInsertionBlock(com.android.tools.r8.ir.code.Instruction):595:600 -> a
+    334:335:boolean isNullableReferenceType(com.android.tools.r8.ir.code.Value):631:632 -> a
+    334:335:boolean isNullableReferenceTypeWithOtherNonDebugUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):637 -> a
+    336:339:boolean isNullableReferenceTypeWithOtherNonDebugUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):638:641 -> a
+    boolean lambda$materializeSelectedAssumeInstructions$10(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> b
+    1:15:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):228:242 -> b
+    16:16:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo.getDynamicUpperBoundTypeOrElse(com.android.tools.r8.ir.analysis.type.TypeElement):39:39 -> b
+    16:16:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):242 -> b
+    17:17:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):243:243 -> b
+    18:34:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):240:256 -> b
+    35:35:boolean lambda$computeDominanceForAssumedValues$1(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):389:389 -> b
+    36:36:java.util.Map lambda$computeDominanceForAssumedValues$5(com.android.tools.r8.ir.code.Instruction):439:439 -> b
+    37:88:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):462:513 -> b
+    89:89:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
+    89:89:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):513 -> b
+    90:90:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):513:513 -> b
+    91:91:boolean lambda$materializeAssumeInstructions$8(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):499:499 -> b
+    1:1:java.util.List lambda$materializeSelectedAssumeInstructions$13(com.android.tools.r8.ir.code.Instruction):587:587 -> c
+com.android.tools.r8.ir.optimize.AssumeInserter$1 -> com.android.tools.r8.ir.optimize.d$a:
+com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance -> com.android.tools.r8.ir.optimize.d$b:
+    1:1:void <init>():880:880 -> <init>
+    com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance asSomething() -> a
+    boolean isEverything() -> b
+    boolean isEverythingElse() -> c
+    boolean isNothing() -> d
+    boolean isSomething() -> e
+    boolean isUnknown() -> f
+com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance$Builder -> com.android.tools.r8.ir.optimize.d$b$a:
+    java.util.Map dominatedPhiUsers -> d
+    java.util.Set dominatedUsers -> c
+    com.android.tools.r8.ir.code.Value assumedValue -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():935:935 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$1):935:935 -> <init>
+    2:2:void <init>(com.android.tools.r8.ir.code.Value):942:942 -> <init>
+    3:7:void <init>(com.android.tools.r8.ir.code.Value):939:943 -> <init>
+    1:3:void addDominatedUser(com.android.tools.r8.ir.code.Instruction):947:949 -> a
+    4:6:void addDominatedPhiUser(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):953:955 -> a
+    7:7:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():959:959 -> a
+    8:8:com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.nothing():919:919 -> a
+    8:8:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():960 -> a
+    9:11:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():962:962 -> a
+    13:13:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():964:964 -> a
+    14:14:com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.something(java.util.Set,java.util.Map):928:928 -> a
+    14:14:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():964 -> a
+com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo -> com.android.tools.r8.ir.optimize.d$c:
+    com.android.tools.r8.ir.code.Assume$NonNullAssumption nonNullAssumption -> c
+    com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance dominance -> a
+    com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption dynamicTypeAssumption -> b
+    1:2:void <init>(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):656:657 -> <init>
+    1:1:boolean hasDynamicTypeInfo():669:669 -> a
+    1:1:boolean isNonNull():698:698 -> b
+    1:1:void setNotNull():702:702 -> c
+com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues -> com.android.tools.r8.ir.optimize.d$d:
+    java.util.Map assumedValues -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():719:719 -> <clinit>
+    1:2:void <init>(java.util.Map):728:729 -> <init>
+    1:22:void computeDominance(com.android.tools.r8.utils.TriFunction):738:759 -> a
+    23:23:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDominance(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):665:665 -> a
+    23:23:void computeDominance(com.android.tools.r8.utils.TriFunction):761 -> a
+    24:25:void computeDominance(com.android.tools.r8.utils.TriFunction):764:765 -> a
+    26:26:boolean lambda$computeDominance$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):753:753 -> a
+    27:27:void removeAll(java.util.Map):788:788 -> a
+    28:32:void lambda$removeAll$3(com.android.tools.r8.ir.code.Instruction,java.util.Map):790:794 -> a
+    33:50:void removeIf(com.android.tools.r8.utils.TriPredicate):801:818 -> a
+com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder -> com.android.tools.r8.ir.optimize.d$d$a:
+    java.util.Map assumedValues -> a
+    java.util.Set nonNullValuesKnownToDominateAllUsers -> b
+    1:7:void <init>():823:829 -> <init>
+    1:685:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):0:684 -> a
+    1:685:void lambda$addAssumedValueKnownToDominateAllUsers$2(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):856 -> a
+    686:686:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setNotNull():702:702 -> a
+    686:686:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):685 -> a
+    686:686:void lambda$addAssumedValueKnownToDominateAllUsers$2(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):856 -> a
+    687:687:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement) -> a
+    687:687:void lambda$addAssumedValueKnownToDominateAllUsers$2(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):856 -> a
+    688:688:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setNotNull():702:702 -> a
+    688:688:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):688 -> a
+    688:688:void lambda$addAssumedValueKnownToDominateAllUsers$2(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):856 -> a
+    689:695:void updateAssumedValueInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance,java.util.function.Consumer):836:842 -> a
+    696:696:java.util.Map lambda$updateAssumedValueInfo$0(com.android.tools.r8.ir.code.Instruction):838:838 -> a
+    697:697:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo lambda$updateAssumedValueInfo$1(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance,com.android.tools.r8.ir.code.Value):839:839 -> a
+    698:698:boolean isMaybeNull(com.android.tools.r8.ir.code.Value):871:871 -> a
+    699:699:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues build():875:875 -> a
+    700:700:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():911:911 -> a
+    700:700:void addAssumedValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):854 -> a
+    701:701:void addAssumedValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):854:854 -> a
+    702:702:void addAssumedValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):851:851 -> a
+    703:703:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():911:911 -> a
+    703:703:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):862 -> a
+    704:704:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):862:862 -> a
+    705:705:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):861:861 -> a
+    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.unknown():932:932 -> b
+    1:1:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):867 -> b
+    2:2:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):867:867 -> b
+    3:3:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):866:866 -> b
+com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance -> com.android.tools.r8.ir.optimize.d$e:
+    com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance INSTANCE -> a
+    1:1:void <clinit>():971:971 -> <clinit>
+    1:1:void <init>():973:973 -> <init>
+    boolean isEverything() -> b
+    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance getInstance():976:976 -> g
+com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance -> com.android.tools.r8.ir.optimize.d$f:
+    com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance INSTANCE -> a
+    1:1:void <clinit>():987:987 -> <clinit>
+    1:1:void <init>():990:990 -> <init>
+    boolean isEverythingElse() -> c
+    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance getInstance():993:993 -> g
+com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance -> com.android.tools.r8.ir.optimize.d$g:
+    com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance INSTANCE -> a
+    1:1:void <clinit>():1004:1004 -> <clinit>
+    1:1:void <init>():1006:1006 -> <init>
+    boolean isNothing() -> d
+    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance getInstance():1009:1009 -> g
+com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance -> com.android.tools.r8.ir.optimize.d$h:
+    java.util.Map dominatedPhiUsers -> b
+    java.util.Set dominatedUsers -> a
+    1:3:void <init>(java.util.Set,java.util.Map):1024:1026 -> <init>
+    com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance asSomething() -> a
+    boolean isSomething() -> e
+    1:1:java.util.Map getDominatedPhiUsers():1034:1034 -> g
+    1:1:java.util.Set getDominatedUsers():1030:1030 -> h
+com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance -> com.android.tools.r8.ir.optimize.d$i:
+    com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance INSTANCE -> a
+    1:1:void <clinit>():1050:1050 -> <clinit>
+    1:1:void <init>():1052:1052 -> <init>
+    boolean isUnknown() -> f
+    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance getInstance():1055:1055 -> g
+com.android.tools.r8.ir.optimize.AssumeRemover -> com.android.tools.r8.ir.optimize.e:
     com.android.tools.r8.graph.AppView appView -> a
     java.util.Set affectedValues -> c
-    java.util.Set assumeDynamicTypeInstructionsToRemove -> d
+    java.util.Set assumeInstructionsToRemove -> d
     boolean mayHaveIntroducedTrivialPhi -> e
     com.android.tools.r8.ir.code.IRCode code -> b
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):40:40 -> <init>
     2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35:42 -> <init>
-    1:3:void markUsersForRemoval(com.android.tools.r8.ir.code.Value):54:56 -> a
-    4:4:void markForRemoval(com.android.tools.r8.ir.code.Assume):50:50 -> a
-    4:4:void markUsersForRemoval(com.android.tools.r8.ir.code.Value):56 -> a
-    5:19:void removeIfMarked(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.code.InstructionListIterator):63:77 -> a
-    20:29:com.android.tools.r8.ir.optimize.AssumeDynamicTypeRemover removeMarkedInstructions(java.util.Set):82:91 -> a
-    30:31:void finish():100:101 -> a
-    32:32:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    32:32:void finish():101 -> a
-    33:33:void finish():101:101 -> a
-    1:1:boolean mayHaveIntroducedTrivialPhi():46:46 -> b
-com.android.tools.r8.ir.optimize.AssumeInserter -> com.android.tools.r8.ir.optimize.e:
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> b
-    1:1:void <clinit>():51:51 -> <clinit>
-    1:2:void <init>(com.android.tools.r8.graph.AppView):55:56 -> <init>
-    boolean lambda$computeDominanceForAssumedValues$2(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
-    boolean lambda$computeDominanceForAssumedValues$4(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
-    1:1:void insertAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):61:61 -> a
-    2:2:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):70:70 -> a
-    3:3:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80:80 -> a
-    3:3:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    4:11:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues computeAssumedValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate):113:120 -> a
-    4:11:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):81 -> a
-    4:11:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    12:12:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):82:82 -> a
-    12:12:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    13:13:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():561:561 -> a
-    13:13:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):83 -> a
-    13:13:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    14:21:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):87:94 -> a
-    14:21:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    22:22:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():561:561 -> a
-    22:22:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):95 -> a
-    22:22:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    23:23:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):99:99 -> a
-    23:23:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    24:24:void removeRedundantDominatedAssumeInstructions(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,java.util.Map):349:349 -> a
-    24:24:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):100 -> a
-    24:24:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    25:25:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):101:101 -> a
-    25:25:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    26:26:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():561:561 -> a
-    26:26:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):102 -> a
-    26:26:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    27:29:void internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):106:108 -> a
-    27:29:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):71 -> a
-    30:30:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):72:72 -> a
-    31:81:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):133:183 -> a
-    82:82:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.peekPrevious():27:27 -> a
-    82:82:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):184 -> a
-    83:93:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):184:194 -> a
-    94:94:boolean com.android.tools.r8.ir.code.If.isNullTest():93:93 -> a
-    94:94:boolean com.android.tools.r8.ir.code.If.isNonTrivialNullTest():97 -> a
-    94:94:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):195 -> a
-    95:95:boolean com.android.tools.r8.ir.code.If.isNonTrivialNullTest():97:97 -> a
-    95:95:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):195 -> a
-    96:100:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):196:200 -> a
-    101:127:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):207:233 -> a
-    128:128:void removeRedundantAssumeInstructions(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):243:243 -> a
-    129:144:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.removeIf(java.util.function.BiPredicate):586:601 -> a
-    129:144:void removeRedundantAssumeInstructions(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):243 -> a
-    145:148:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):245:248 -> a
-    149:150:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.contains(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):556:557 -> a
-    149:150:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):249 -> a
-    151:154:java.util.Map computeDominanceForAssumedValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):255:258 -> a
-    155:156:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):260:261 -> a
-    157:157:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.unknown():695:695 -> a
-    157:157:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.redundant():686 -> a
-    157:157:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):263 -> a
-    158:158:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):267:267 -> a
-    159:159:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():674:674 -> a
-    159:159:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):268 -> a
-    160:176:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):275:291 -> a
-    177:177:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everythingElse():678:678 -> a
-    177:177:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):297 -> a
-    178:182:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):302:306 -> a
-    183:192:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):304:313 -> a
-    193:193:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance$Builder com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.builder(com.android.tools.r8.ir.code.Value):670:670 -> a
-    193:193:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):316 -> a
-    194:212:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):317:335 -> a
-    213:218:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):436:441 -> a
-    213:218:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):337 -> a
-    219:219:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
-    219:219:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):441 -> a
-    219:219:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):337 -> a
-    220:228:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):443:451 -> a
-    220:228:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):337 -> a
-    229:233:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):338:342 -> a
-    234:234:java.util.Set lambda$computeDominanceForAssumedValues$3(com.android.tools.r8.ir.code.DominatorTree,com.android.tools.r8.ir.code.BasicBlock):314:314 -> a
-    235:236:void lambda$materializeAssumeInstructions$11(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):358:359 -> a
-    237:237:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.getDominance():493:493 -> a
-    237:237:void lambda$materializeAssumeInstructions$11(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):361 -> a
-    238:239:void lambda$materializeAssumeInstructions$11(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):364:365 -> a
-    240:267:void lambda$materializeAssumeInstructions$11(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):363:390 -> a
-    268:284:void lambda$materializeAssumeInstructions$11(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):387:403 -> a
-    285:291:void lambda$materializeAssumeInstructions$8(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):377:383 -> a
-    292:292:java.util.Map lambda$materializeAssumeInstructions$9(com.android.tools.r8.ir.code.BasicBlock):401:401 -> a
-    293:299:void lambda$materializeAssumeInstructions$12(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.Map):408:414 -> a
-    300:305:com.android.tools.r8.ir.code.BasicBlock getInsertionBlock(com.android.tools.r8.ir.code.Instruction):424:429 -> a
-    306:307:boolean isNullableReferenceType(com.android.tools.r8.ir.code.Value):460:461 -> a
-    306:307:boolean isNullableReferenceTypeWithNonDebugUsers(com.android.tools.r8.ir.code.Value):465 -> a
-    308:308:int com.android.tools.r8.ir.code.Value.numberOfAllNonDebugUsers():539:539 -> a
-    308:308:boolean isNullableReferenceTypeWithNonDebugUsers(com.android.tools.r8.ir.code.Value):465 -> a
-    309:310:boolean isNullableReferenceType(com.android.tools.r8.ir.code.Value):460:461 -> a
-    309:310:boolean isNullableReferenceTypeWithOtherNonDebugUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):470 -> a
-    311:314:boolean isNullableReferenceTypeWithOtherNonDebugUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):471:474 -> a
-    boolean lambda$materializeAssumeInstructions$7(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> b
-    1:1:boolean lambda$computeDominanceForAssumedValues$1(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):281:281 -> b
-    2:2:java.util.Set lambda$computeDominanceForAssumedValues$5(com.android.tools.r8.ir.code.Instruction):331:331 -> b
-    3:69:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):353:419 -> b
-    70:70:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
-    70:70:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):419 -> b
-    71:71:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):419:419 -> b
-    1:1:java.util.List lambda$materializeAssumeInstructions$10(com.android.tools.r8.ir.code.Instruction):402:402 -> c
-com.android.tools.r8.ir.optimize.AssumeInserter$1 -> com.android.tools.r8.ir.optimize.e$a:
-com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance -> com.android.tools.r8.ir.optimize.e$b:
-    1:1:void <init>():643:643 -> <init>
-    com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance asSomething() -> a
-    boolean isEverything() -> b
-    boolean isEverythingElse() -> c
-    boolean isNothing() -> d
-    boolean isSomething() -> e
-    boolean isUnknown() -> f
-com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance$Builder -> com.android.tools.r8.ir.optimize.e$b$a:
-    java.util.Map dominatedPhiUsers -> c
-    com.android.tools.r8.ir.code.Value assumedValue -> a
-    java.util.Set dominatedUsers -> b
-    boolean $assertionsDisabled -> d
-    1:1:void <clinit>():698:698 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$1):698:698 -> <init>
-    2:2:void <init>(com.android.tools.r8.ir.code.Value):705:705 -> <init>
-    3:7:void <init>(com.android.tools.r8.ir.code.Value):702:706 -> <init>
-    1:3:void addDominatedUser(com.android.tools.r8.ir.code.Instruction):710:712 -> a
-    4:6:void addDominatedPhiUser(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):716:718 -> a
-    7:7:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():722:722 -> a
-    8:8:com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.nothing():682:682 -> a
-    8:8:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():723 -> a
-    9:11:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():725:725 -> a
-    13:13:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():727:727 -> a
-    14:14:com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.something(java.util.Set,java.util.Map):691:691 -> a
-    14:14:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():727 -> a
-com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo -> com.android.tools.r8.ir.optimize.e$c:
-    com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance dominance -> a
-    1:2:void <init>(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):488:489 -> <init>
-com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues -> com.android.tools.r8.ir.optimize.e$d:
-    java.util.Map assumedValues -> a
-    boolean $assertionsDisabled -> b
-    1:1:void <clinit>():505:505 -> <clinit>
-    1:2:void <init>(java.util.Map):514:515 -> <init>
-    1:22:void computeDominance(java.util.function.BiFunction):523:544 -> a
-    23:23:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDominance(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):497:497 -> a
-    23:23:void computeDominance(java.util.function.BiFunction):546 -> a
-    24:25:void computeDominance(java.util.function.BiFunction):549:550 -> a
-    26:26:boolean lambda$computeDominance$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):538:538 -> a
-    27:27:void forEach(com.android.tools.r8.utils.TriConsumer):565:565 -> a
-    28:28:void lambda$forEach$2(com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.ir.code.Instruction,java.util.Map):567:567 -> a
-    29:29:void lambda$forEach$1(com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):569:569 -> a
-    30:30:void removeAll(java.util.Map):573:573 -> a
-    31:35:void lambda$removeAll$3(com.android.tools.r8.ir.code.Instruction,java.util.Set):575:579 -> a
-com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder -> com.android.tools.r8.ir.optimize.e$d$a:
-    java.util.Map assumedValues -> a
-    java.util.Set assumedValuesKnownToDominateAllUsers -> b
-    1:7:void <init>():606:612 -> <init>
-    1:3:void addNonNullValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):616:618 -> a
-    4:505:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setNotNull():0:501 -> a
-    4:505:void addNonNullValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):619 -> a
-    506:507:void addNonNullValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):620:621 -> a
-    508:508:java.util.Map lambda$addNonNullValue$0(com.android.tools.r8.ir.code.Instruction):617:617 -> a
-    509:509:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo lambda$addNonNullValue$1(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance,com.android.tools.r8.ir.code.Value):618:618 -> a
-    510:510:boolean isMaybeNull(com.android.tools.r8.ir.code.Value):634:634 -> a
-    511:511:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues build():638:638 -> a
-    512:512:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():674:674 -> a
-    512:512:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):626 -> a
-    513:513:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):626:626 -> a
-    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.unknown():695:695 -> b
-    1:1:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):630 -> b
-    2:2:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):630:630 -> b
-com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance -> com.android.tools.r8.ir.optimize.e$e:
-    com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance INSTANCE -> a
-    1:1:void <clinit>():734:734 -> <clinit>
-    1:1:void <init>():736:736 -> <init>
-    boolean isEverything() -> b
-    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance getInstance():739:739 -> g
-com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance -> com.android.tools.r8.ir.optimize.e$f:
-    com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance INSTANCE -> a
-    1:1:void <clinit>():750:750 -> <clinit>
-    1:1:void <init>():753:753 -> <init>
-    boolean isEverythingElse() -> c
-    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance getInstance():756:756 -> g
-com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance -> com.android.tools.r8.ir.optimize.e$g:
-    com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance INSTANCE -> a
-    1:1:void <clinit>():767:767 -> <clinit>
-    1:1:void <init>():769:769 -> <init>
-    boolean isNothing() -> d
-    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance getInstance():772:772 -> g
-com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance -> com.android.tools.r8.ir.optimize.e$h:
-    java.util.Map dominatedPhiUsers -> b
-    java.util.Set dominatedUsers -> a
-    1:3:void <init>(java.util.Set,java.util.Map):787:789 -> <init>
-    com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance asSomething() -> a
-    boolean isSomething() -> e
-    1:1:java.util.Map getDominatedPhiUsers():797:797 -> g
-    1:1:java.util.Set getDominatedUsers():793:793 -> h
-com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance -> com.android.tools.r8.ir.optimize.e$i:
-    com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance INSTANCE -> a
-    1:1:void <clinit>():813:813 -> <clinit>
-    1:1:void <init>():815:815 -> <init>
-    boolean isUnknown() -> f
-    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance getInstance():818:818 -> g
-com.android.tools.r8.ir.optimize.Assumer -> com.android.tools.r8.ir.optimize.f:
-    void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing) -> a
-com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence -> com.android.tools.r8.ir.optimize.g:
-    com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> a
-    int[] hashes -> b
-    boolean $assertionsDisabled -> c
+    1:6:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):54:59 -> a
+    7:21:void removeIfMarked(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.code.InstructionListIterator):71:85 -> a
+    22:31:com.android.tools.r8.ir.optimize.AssumeRemover removeMarkedInstructions(java.util.Set):94:103 -> a
+    32:33:void finish():112:113 -> a
+    34:34:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    34:34:void finish():113 -> a
+    35:35:void finish():113:113 -> a
+    1:1:java.util.Set getAffectedValues():46:46 -> b
+    1:1:boolean mayHaveIntroducedTrivialPhi():50:50 -> c
+com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence -> com.android.tools.r8.ir.optimize.f:
+    int[] hashes -> c
+    com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():16:16 -> <clinit>
     1:4:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):22:25 -> <init>
     1:24:boolean hasIdenticalInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):29:52 -> a
@@ -34866,763 +34889,766 @@
     1:1:int doHash(java.lang.Object):16:16 -> doHash
     2:8:int doHash(com.android.tools.r8.ir.code.BasicBlock):79:85 -> doHash
     2:8:int doHash(java.lang.Object):16 -> doHash
-com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator -> com.android.tools.r8.ir.optimize.i:
-    com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator$Mode mode -> d
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.utils.collections.ProgramMethodSet revisitedMethods -> c
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions options -> b
-    1:1:void <clinit>():48:48 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView):67:67 -> <init>
-    2:10:void <init>(com.android.tools.r8.graph.AppView):64:72 -> <init>
-    1:8:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):93:100 -> a
-    9:23:void collectCallSiteOptimizationInfoForInvokeMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):109:123 -> a
-    9:23:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):99 -> a
-    24:24:boolean isMaybeClasspathOrLibraryMethodOverride(com.android.tools.r8.graph.ProgramMethod):147:147 -> a
-    24:24:void collectCallSiteOptimizationInfoForInvokeMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):124 -> a
-    24:24:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):99 -> a
-    25:25:void collectCallSiteOptimizationInfoForInvokeMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):127:127 -> a
-    25:25:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):99 -> a
-    26:27:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):101:102 -> a
-    28:35:void collectCallSiteOptimizationInfoForInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom):133:140 -> a
-    28:35:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):102 -> a
-    36:51:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):156:171 -> a
-    52:55:boolean verifyAllProgramDispatchTargetsHaveBeenAbandoned(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):440:443 -> a
-    52:55:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):171 -> a
-    56:63:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):175:182 -> a
-    64:84:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):179:199 -> a
-    85:99:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo propagateArgumentsToDispatchTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.LazyBox,com.android.tools.r8.utils.Timing):218:232 -> a
-    85:99:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):201 -> a
-    100:177:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.hasUsefulOptimizationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):0:77 -> a
-    100:177:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo propagateArgumentsToDispatchTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.LazyBox,com.android.tools.r8.utils.Timing):232 -> a
-    100:177:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):201 -> a
-    178:178:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo propagateArgumentsToDispatchTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.LazyBox,com.android.tools.r8.utils.Timing):234:234 -> a
-    178:178:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):201 -> a
-    179:185:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo propagateArgumentsToDispatchTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.LazyBox,com.android.tools.r8.utils.Timing):231:237 -> a
-    179:185:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):201 -> a
-    186:191:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):205:210 -> a
-    192:222:void abandonCallSitePropagation(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):245:275 -> a
-    223:234:void lambda$abandonCallSitePropagation$2(com.android.tools.r8.graph.LookupResult,com.android.tools.r8.ir.code.InvokeMethod,java.util.function.Consumer):261:261 -> a
-    235:240:void lambda$abandonCallSitePropagation$1(java.util.function.Consumer,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod):263:268 -> a
-    241:241:void abandonCallSitePropagation(com.android.tools.r8.utils.ForEachable):279:279 -> a
-    242:242:void lambda$abandonCallSitePropagation$3(com.android.tools.r8.graph.ProgramMethod):279:279 -> a
-    243:246:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo computeCallSiteOptimizationInfoFromArguments(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):284:287 -> a
-    243:246:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo lambda$propagateArgumentsToDispatchTargets$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):198 -> a
-    247:255:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo computeCallSiteOptimizationInfoFromArguments(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):286:294 -> a
-    247:255:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo lambda$propagateArgumentsToDispatchTargets$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):198 -> a
-    256:308:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):302:354 -> a
-    309:309:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    309:309:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):354 -> a
-    310:325:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):355:370 -> a
-    326:326:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    326:326:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):370 -> a
-    327:353:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):371:397 -> a
-    354:354:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    354:354:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):397 -> a
-    355:355:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):397:397 -> a
-    356:380:com.android.tools.r8.utils.collections.ProgramMethodSet methodsToRevisit():403:427 -> a
-    381:390:boolean lambda$methodsToRevisit$4(com.android.tools.r8.graph.DexEncodedMethod):408:417 -> a
-    391:393:void lambda$methodsToRevisit$5(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):420:422 -> a
+com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator -> com.android.tools.r8.ir.optimize.h:
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.utils.collections.ProgramMethodSet revisitedMethods -> d
+    com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions options -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator$Mode mode -> e
+    1:1:void <clinit>():49:49 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView):68:68 -> <init>
+    2:10:void <init>(com.android.tools.r8.graph.AppView):65:73 -> <init>
+    1:8:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):94:101 -> a
+    9:23:void collectCallSiteOptimizationInfoForInvokeMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):110:124 -> a
+    9:23:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):100 -> a
+    24:24:boolean isMaybeClasspathOrLibraryMethodOverride(com.android.tools.r8.graph.ProgramMethod):148:148 -> a
+    24:24:void collectCallSiteOptimizationInfoForInvokeMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):125 -> a
+    24:24:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):100 -> a
+    25:25:void collectCallSiteOptimizationInfoForInvokeMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):128:128 -> a
+    25:25:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):100 -> a
+    26:27:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):102:103 -> a
+    28:35:void collectCallSiteOptimizationInfoForInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom):134:141 -> a
+    28:35:void collectCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):103 -> a
+    36:51:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):157:172 -> a
+    52:61:boolean verifyAllProgramDispatchTargetsHaveBeenAbandoned(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):447:456 -> a
+    52:61:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):172 -> a
+    62:69:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):176:183 -> a
+    70:90:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):180:200 -> a
+    91:105:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo propagateArgumentsToDispatchTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.LazyBox,com.android.tools.r8.utils.Timing):219:233 -> a
+    91:105:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):202 -> a
+    106:183:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.hasUsefulOptimizationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):0:77 -> a
+    106:183:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo propagateArgumentsToDispatchTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.LazyBox,com.android.tools.r8.utils.Timing):233 -> a
+    106:183:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):202 -> a
+    184:184:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo propagateArgumentsToDispatchTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.LazyBox,com.android.tools.r8.utils.Timing):235:235 -> a
+    184:184:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):202 -> a
+    185:191:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo propagateArgumentsToDispatchTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.LazyBox,com.android.tools.r8.utils.Timing):232:238 -> a
+    185:191:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):202 -> a
+    192:197:void propagateArgumentsToDispatchTargets(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):206:211 -> a
+    198:228:void abandonCallSitePropagation(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):246:276 -> a
+    229:240:void lambda$abandonCallSitePropagation$2(com.android.tools.r8.graph.LookupResult,com.android.tools.r8.ir.code.InvokeMethod,java.util.function.Consumer):262:262 -> a
+    241:246:void lambda$abandonCallSitePropagation$1(java.util.function.Consumer,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod):264:269 -> a
+    247:252:void abandonCallSitePropagation(com.android.tools.r8.utils.ForEachable):280:285 -> a
+    253:253:void lambda$abandonCallSitePropagation$3(com.android.tools.r8.graph.ProgramMethod):282:282 -> a
+    254:257:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo computeCallSiteOptimizationInfoFromArguments(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):291:294 -> a
+    254:257:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo lambda$propagateArgumentsToDispatchTargets$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):199 -> a
+    258:266:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo computeCallSiteOptimizationInfoFromArguments(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):293:301 -> a
+    258:266:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo lambda$propagateArgumentsToDispatchTargets$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):199 -> a
+    267:319:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):309:361 -> a
+    320:320:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    320:320:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):361 -> a
+    321:323:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):362:364 -> a
+    324:324:com.android.tools.r8.ir.code.Assume com.android.tools.r8.ir.code.Assume.createAssumeDynamicTypeInstruction(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):61:61 -> a
+    324:324:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):365 -> a
+    325:335:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):367:377 -> a
+    336:336:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    336:336:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):377 -> a
+    337:339:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):378:380 -> a
+    340:340:com.android.tools.r8.ir.code.Assume com.android.tools.r8.ir.code.Assume.createAssumeNonNullInstruction(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):51:51 -> a
+    340:340:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):381 -> a
+    341:363:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):382:404 -> a
+    364:364:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    364:364:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):404 -> a
+    365:365:void applyCallSiteOptimizationInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):404:404 -> a
+    366:390:com.android.tools.r8.utils.collections.ProgramMethodSet methodsToRevisit():410:434 -> a
+    391:400:boolean lambda$methodsToRevisit$5(com.android.tools.r8.graph.DexEncodedMethod):415:424 -> a
+    401:403:void lambda$methodsToRevisit$6(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):427:429 -> a
     java.util.Collection codeOptimizationsForPostProcessing() -> b
-    1:9:void logResults():77:85 -> c
-    10:10:void logResults():81:81 -> c
-com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator$Mode -> com.android.tools.r8.ir.optimize.h:
+    1:1:void lambda$abandonCallSitePropagation$4(com.android.tools.r8.graph.ProgramMethod):285:285 -> b
+    1:9:void logResults():78:86 -> c
+    10:10:void logResults():82:82 -> c
+com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator$Mode -> com.android.tools.r8.ir.optimize.g:
     com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator$Mode COLLECT -> a
     com.android.tools.r8.ir.optimize.CallSiteOptimizationInfoPropagator$Mode REVISIT -> b
-    1:3:void <clinit>():56:58 -> <clinit>
-    1:1:void <init>(java.lang.String,int):55:55 -> <init>
-com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization -> com.android.tools.r8.ir.optimize.j:
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$WaveDoneAction waveDoneAction -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.conversion.IRConverter converter -> b
-    1:1:void <clinit>():63:63 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):120:120 -> <init>
-    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):118:123 -> <init>
-    1:71:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):127:197 -> a
-    72:72:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
-    72:72:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):201 -> a
-    73:99:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):202:228 -> a
-    100:100:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
-    100:100:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):229 -> a
-    101:101:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):229:229 -> a
+    1:3:void <clinit>():57:59 -> <clinit>
+    1:1:void <init>(java.lang.String,int):56:56 -> <init>
+com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization -> com.android.tools.r8.ir.optimize.i:
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$WaveDoneAction waveDoneAction -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.conversion.IRConverter converter -> c
+    1:1:void <clinit>():62:62 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):119:119 -> <init>
+    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):117:122 -> <init>
+    1:71:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):126:196 -> a
+    72:72:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
+    72:72:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):200 -> a
+    73:99:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):201:227 -> a
+    100:100:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
+    100:100:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):228 -> a
+    101:101:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):228:228 -> a
     102:102:void com.android.tools.r8.utils.IteratorUtils.removeIf(com.android.tools.r8.ir.code.InstructionListIterator,java.util.function.Predicate):96:96 -> a
-    102:102:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):229 -> a
-    103:156:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):235:288 -> a
-    157:161:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):159:163 -> a
-    162:186:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):292:316 -> a
-    162:186:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):163 -> a
-    187:187:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):320:320 -> a
-    187:187:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):316 -> a
-    187:187:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):163 -> a
-    188:188:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    188:188:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):320 -> a
-    188:188:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):316 -> a
-    188:188:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):163 -> a
-    189:223:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):322:356 -> a
-    189:223:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):316 -> a
-    189:223:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):163 -> a
+    102:102:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):228 -> a
+    103:156:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):234:287 -> a
+    157:161:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):158:162 -> a
+    162:186:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):291:315 -> a
+    162:186:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):162 -> a
+    187:187:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):319:319 -> a
+    187:187:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):315 -> a
+    187:187:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):162 -> a
+    188:188:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    188:188:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):319 -> a
+    188:188:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):315 -> a
+    188:188:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):162 -> a
+    189:223:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):321:355 -> a
+    189:223:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):315 -> a
+    189:223:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):162 -> a
     224:224:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping.map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory):38:38 -> a
-    224:224:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):356 -> a
-    224:224:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):316 -> a
-    224:224:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):163 -> a
-    225:227:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):356:358 -> a
-    225:227:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):316 -> a
-    225:227:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):163 -> a
-    228:228:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):163:163 -> a
-    229:229:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):358:358 -> a
-    229:229:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):316 -> a
-    229:229:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):163 -> a
-    230:238:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):164:172 -> a
+    224:224:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):355 -> a
+    224:224:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):315 -> a
+    224:224:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):162 -> a
+    225:227:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):355:357 -> a
+    225:227:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):315 -> a
+    225:227:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):162 -> a
+    228:228:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):162:162 -> a
+    229:229:com.android.tools.r8.graph.DexValue getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):357:357 -> a
+    229:229:com.android.tools.r8.graph.DexValue getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):315 -> a
+    229:229:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):162 -> a
+    230:238:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):163:171 -> a
     239:239:boolean com.android.tools.r8.ir.code.ConstNumber.getBooleanValue():78:78 -> a
-    239:239:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):173 -> a
-    240:256:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):173:189 -> a
-    257:260:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):165:168 -> a
-    261:261:com.android.tools.r8.graph.DexField lambda$optimize$1(com.android.tools.r8.graph.DexEncodedField):248:248 -> a
-    262:262:void lambda$optimize$2(java.util.Set,com.android.tools.r8.shaking.AppInfoWithLivenessModifier):266:266 -> a
-    263:264:void lambda$optimize$3():274:275 -> a
-    265:265:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):364:364 -> a
-    266:266:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():511:511 -> a
-    266:266:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):366 -> a
+    239:239:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):172 -> a
+    240:256:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):172:188 -> a
+    257:260:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):164:167 -> a
+    261:261:com.android.tools.r8.graph.DexField lambda$optimize$1(com.android.tools.r8.graph.DexEncodedField):247:247 -> a
+    262:262:void lambda$optimize$2(java.util.Set,com.android.tools.r8.shaking.AppInfoWithLivenessModifier):265:265 -> a
+    263:264:void lambda$optimize$3():273:274 -> a
+    265:265:java.util.Set lambda$findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts$4(com.android.tools.r8.graph.DexField):451:451 -> a
+    266:266:java.util.Map validateFinalFieldPuts(java.util.Map,java.util.Map):509:509 -> a
     267:267:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():511:511 -> a
-    267:267:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):367 -> a
-    268:278:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):368:378 -> a
-    279:279:boolean com.android.tools.r8.ir.code.Instruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):590:590 -> a
-    279:279:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):379 -> a
-    280:390:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):380:490 -> a
-    391:499:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):382:490 -> a
-    500:599:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):391:490 -> a
-    600:605:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):398:403 -> a
-    606:610:boolean com.android.tools.r8.ir.code.Value.isDexItemBasedConstStringThatNeedsToComputeClassName():906:910 -> a
-    606:610:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):408 -> a
-    611:636:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):411:436 -> a
-    637:644:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.StaticPut):524:531 -> a
-    637:644:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):436 -> a
-    645:697:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):438:490 -> a
-    698:728:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):460:490 -> a
-    729:753:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):466:490 -> a
-    754:761:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):485:492 -> a
-    762:762:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):490:490 -> a
-    763:763:java.util.Set lambda$findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts$4(com.android.tools.r8.graph.DexField):454:454 -> a
-    764:764:java.util.Map validateFinalFieldPuts(java.util.Map,java.util.Map):517:517 -> a
-    765:773:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):535:543 -> a
-com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult -> com.android.tools.r8.ir.optimize.j$a:
-    java.util.Map fieldsWithStaticValues -> a
-    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult EMPTY -> b
-    1:1:void <clinit>():67:67 -> <clinit>
-    1:2:void <init>(java.util.Map):72:73 -> <init>
-    1:1:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult empty():77:77 -> a
-    2:3:void forEachOptimizedField(java.util.function.BiConsumer):81:82 -> a
+    267:267:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):363 -> a
+    268:268:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():511:511 -> a
+    268:268:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):364 -> a
+    269:279:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):365:375 -> a
+    280:280:boolean com.android.tools.r8.ir.code.Instruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):585:585 -> a
+    280:280:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):376 -> a
+    281:386:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):377:482 -> a
+    387:490:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):379:482 -> a
+    491:585:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):388:482 -> a
+    586:591:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):395:400 -> a
+    592:596:boolean com.android.tools.r8.ir.code.Value.isDexItemBasedConstStringThatNeedsToComputeClassName():794:798 -> a
+    592:596:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):405 -> a
+    597:622:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):408:433 -> a
+    623:630:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.StaticPut):516:523 -> a
+    623:630:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):433 -> a
+    631:678:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):435:482 -> a
+    679:704:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):457:482 -> a
+    705:724:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):463:482 -> a
+    725:732:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):477:484 -> a
+    733:733:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):482:482 -> a
+    734:742:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):527:535 -> a
+com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult -> com.android.tools.r8.ir.optimize.i$a:
+    java.util.Map fieldsWithStaticValues -> b
+    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult EMPTY -> a
+    1:1:void <clinit>():66:66 -> <clinit>
+    1:2:void <init>(java.util.Map):71:72 -> <init>
+    1:1:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult empty():76:76 -> a
+    2:3:void forEachOptimizedField(java.util.function.BiConsumer):80:81 -> a
     4:4:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    4:4:boolean hasStaticValue(com.android.tools.r8.graph.DexEncodedField):87 -> a
-    5:6:boolean hasStaticValue(com.android.tools.r8.graph.DexEncodedField):88:89 -> a
-com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$WaveDoneAction -> com.android.tools.r8.ir.optimize.k:
+    4:4:boolean hasStaticValue(com.android.tools.r8.graph.DexEncodedField):86 -> a
+    5:6:boolean hasStaticValue(com.android.tools.r8.graph.DexEncodedField):87:88 -> a
+com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$WaveDoneAction -> com.android.tools.r8.ir.optimize.j:
     java.util.Map fieldsWithStaticValues -> a
-    1:1:void <init>(java.util.Map):99:99 -> <init>
-    2:5:void <init>(java.util.Map):97:100 -> <init>
-    1:1:void join(java.util.Map):104:104 -> a
-    2:2:void execute():110:110 -> a
-com.android.tools.r8.ir.optimize.CodeRewriter -> com.android.tools.r8.ir.optimize.l:
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.utils.InternalOptions options -> c
-    boolean $assertionsDisabled -> d
-    1:1:void <clinit>():136:136 -> <clinit>
-    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):155:159 -> <init>
+    1:1:void <init>(java.util.Map):98:98 -> <init>
+    2:5:void <init>(java.util.Map):96:99 -> <init>
+    1:1:void join(java.util.Map):103:103 -> a
+    2:2:void execute():109:109 -> a
+com.android.tools.r8.ir.optimize.CodeRewriter -> com.android.tools.r8.ir.optimize.k:
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.utils.InternalOptions options -> d
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():140:140 -> <clinit>
+    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):159:163 -> <init>
     boolean lambda$computeConstantArrayValues$8(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.Instruction) -> a
-    1:1:void insertAssumeInstructions(com.android.tools.r8.ir.code.IRCode,java.util.Collection,com.android.tools.r8.utils.Timing):164:164 -> a
-    2:7:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,java.util.Collection,java.util.function.Predicate,com.android.tools.r8.utils.Timing):169:174 -> a
-    2:7:void insertAssumeInstructions(com.android.tools.r8.ir.code.IRCode,java.util.Collection,com.android.tools.r8.utils.Timing):164 -> a
-    8:8:boolean lambda$removedTrivialGotos$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):248:248 -> a
-    9:32:void collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):434:457 -> a
-    33:33:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):524:524 -> a
-    34:34:boolean com.android.tools.r8.utils.InternalOptions.canHaveDex2OatInliningIssue():1516:1516 -> a
-    34:34:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):524 -> a
-    35:36:boolean com.android.tools.r8.ir.code.IRCode.hasCatchHandlers():651:652 -> a
-    35:36:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):524 -> a
-    37:48:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):531:542 -> a
-    49:49:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():30:30 -> a
-    49:49:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):542 -> a
-    50:57:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):543:550 -> a
-    58:94:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):702:738 -> a
-    95:95:java.lang.Object com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder.setBlockNumber(int):566:566 -> a
-    95:95:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):739 -> a
-    96:110:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):740:754 -> a
-    111:111:java.lang.Object com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder.setBlockNumber(int):566:566 -> a
-    111:111:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):755 -> a
-    112:121:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):756:765 -> a
-    122:135:com.android.tools.r8.ir.optimize.CodeRewriter$Interval combineOrAddInterval(java.util.List,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,com.android.tools.r8.ir.optimize.CodeRewriter$Interval):815:828 -> a
-    136:136:com.android.tools.r8.ir.optimize.CodeRewriter$Interval combineOrAddInterval(java.util.List,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,com.android.tools.r8.ir.optimize.CodeRewriter$Interval):825:825 -> a
-    137:148:void tryAddToBiggestSavings(java.util.Set,java.util.PriorityQueue,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,int):838:849 -> a
-    149:149:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):854:854 -> a
-    150:309:int com.android.tools.r8.ir.code.If.estimatedSize(com.android.tools.r8.utils.InternalOutputMode):0:159 -> a
-    150:309:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):854 -> a
-    310:317:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):854:861 -> a
-    318:318:int codeUnitMargin():868:868 -> a
-    319:332:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):969:982 -> a
-    333:362:com.android.tools.r8.ir.optimize.SwitchCaseEliminator removeUnnecessarySwitchCases(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1144:1173 -> a
-    333:362:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):984 -> a
-    363:392:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):986:1015 -> a
-    393:393:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    393:393:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1015 -> a
-    394:397:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1015:1018 -> a
-    398:438:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1027:1067 -> a
-    439:439:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
-    439:439:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1067 -> a
-    440:454:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1068:1082 -> a
-    455:455:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
-    455:455:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1082 -> a
-    456:491:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1084:1119 -> a
-    492:492:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
-    492:492:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1119 -> a
-    493:493:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1121:1121 -> a
-    494:508:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):873:887 -> a
-    494:508:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1122 -> a
-    509:509:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> a
-    509:509:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):887 -> a
-    509:509:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1122 -> a
-    510:521:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):893:904 -> a
-    510:521:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1122 -> a
-    522:522:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
-    522:522:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):904 -> a
-    522:522:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1122 -> a
-    523:572:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):905:954 -> a
-    523:572:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1122 -> a
-    573:573:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> a
-    573:573:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):955 -> a
-    573:573:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1122 -> a
-    574:574:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):960:960 -> a
-    574:574:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1122 -> a
-    575:583:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1126:1134 -> a
-    584:584:int lambda$rewriteIntSwitch$1(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,com.android.tools.r8.ir.optimize.CodeRewriter$Interval):1063:1063 -> a
-    585:599:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1184:1198 -> a
-    600:618:void collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):477:495 -> a
-    600:618:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1199 -> a
-    619:619:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1201:1201 -> a
-    620:633:void collapseNonFallthroughSwitchTargets(com.android.tools.r8.ir.code.BasicBlock):501:514 -> a
-    620:633:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1202 -> a
-    634:650:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1206:1222 -> a
-    651:657:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1455:1461 -> a
-    658:658:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    658:658:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1461 -> a
-    659:726:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1462:1529 -> a
-    727:727:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    727:727:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1530 -> a
-    728:728:boolean lambda$removeInstanceOfInstructionIfTrivial$2(com.android.tools.r8.ir.code.Value):1505:1505 -> a
-    729:731:boolean isNeverInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexType):1537:1539 -> a
-    732:732:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    732:732:boolean isNeverInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexType):1539 -> a
-    733:735:boolean isNeverInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexType):1539:1541 -> a
-    736:746:void removeOrReplaceByDebugLocalWrite(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):1546:1556 -> a
-    747:755:boolean isBinopWithLit8OrLit16(com.android.tools.r8.ir.code.Instruction):1677:1685 -> a
-    756:761:com.android.tools.r8.ir.code.Value binopWithLit8OrLit16NonConstant(com.android.tools.r8.ir.code.Binop):1704:1709 -> a
-    762:763:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1772:1773 -> a
-    764:770:void lambda$shortenLiveRanges$6(java.util.Map,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):1835:1841 -> a
-    771:870:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):1869:1968 -> a
-    871:919:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.ConstString.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstString):0:48 -> a
-    871:919:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):1968 -> a
-    920:921:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):1969:1970 -> a
-    922:969:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2006:2053 -> a
-    970:971:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2582:2583 -> a
-    972:972:int negateBoolean(com.android.tools.r8.ir.code.ConstNumber):2748:2748 -> a
-    973:973:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():981:981 -> a
-    973:973:int negateBoolean(com.android.tools.r8.ir.code.ConstNumber):2748 -> a
-    974:975:int negateBoolean(com.android.tools.r8.ir.code.ConstNumber):2748:2749 -> a
-    976:1003:boolean replaceDominatedConstNumbers(long,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier):2759:2786 -> a
-    1004:1004:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():981:981 -> a
-    1004:1004:boolean replaceDominatedConstNumbers(long,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier):2790 -> a
-    1005:1019:boolean replaceDominatedConstNumbers(long,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier):2805:2819 -> a
-    1020:1045:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):2996:3021 -> a
-    1046:1048:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3032:3034 -> a
-    1049:1051:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):98:100 -> a
-    1049:1051:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3034 -> a
-    1052:1053:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3035:3036 -> a
-    1054:1074:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3157:3177 -> a
-    1075:1075:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):35:35 -> a
-    1075:1075:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3177 -> a
-    1076:1092:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3177:3193 -> a
-    1093:1093:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3192:3192 -> a
-    1094:1094:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    1094:1094:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3191 -> a
-    1095:1106:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3191:3202 -> a
-    1107:1129:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3213:3235 -> a
-    1130:1130:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
-    1130:1130:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3235 -> a
-    1131:1131:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3236:3236 -> a
-    1132:1166:java.util.Set computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3273:3307 -> a
-    1132:1166:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3240 -> a
-    1167:1189:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3241:3263 -> a
-    1190:1190:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):168:168 -> a
-    1190:1190:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3263 -> a
-    1191:1195:void updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3318:3322 -> a
-    1196:1196:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
-    1196:1196:void updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3322 -> a
-    1197:1201:void updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3323:3327 -> a
-    1202:1202:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3380:3380 -> a
-    1203:1207:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3386:3390 -> a
-    1203:1207:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3382 -> a
-    1208:1208:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    1208:1208:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3390 -> a
-    1208:1208:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3382 -> a
-    1209:1209:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3395:3395 -> a
-    1209:1209:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3382 -> a
-    1210:1210:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3392:3392 -> a
-    1210:1210:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3382 -> a
-    1211:1211:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
-    1211:1211:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3392 -> a
-    1211:1211:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3382 -> a
-    1212:1212:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3392:3392 -> a
-    1212:1212:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3382 -> a
-    1213:1213:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3401:3401 -> a
-    1214:1214:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    1214:1214:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3402 -> a
-    1215:1215:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3404:3404 -> a
-    1216:1216:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    1216:1216:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3404 -> a
-    1217:1218:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3404:3405 -> a
-    1219:1239:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3415:3435 -> a
-    1240:1240:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    1240:1240:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3434 -> a
-    1241:1247:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3437:3443 -> a
-    1248:1286:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3441:3479 -> a
-    1287:1290:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createIfBlock(int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRMetadata):1452:1455 -> a
-    1287:1290:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3479 -> a
-    1291:1313:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3480:3502 -> a
-    1314:1314:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    1314:1314:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3502 -> a
-    1315:1318:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3503:3503 -> a
-    1321:1334:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3506:3519 -> a
-    1335:1342:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3523:3530 -> a
-    1343:1353:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3543:3553 -> a
-    1343:1353:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3530 -> a
-    1354:1354:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3531:3531 -> a
-    1355:1380:void replaceTrivialNewInstancePhis(com.android.tools.r8.ir.code.Value):3576:3601 -> a
-    1355:1380:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3531 -> a
-    1381:1385:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3532:3536 -> a
-    1386:1386:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3533:3533 -> a
-    1387:1387:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
-    1387:1387:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3533 -> a
-    1388:1388:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
-    1388:1388:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
-    1388:1388:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3533 -> a
-    1389:1389:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3533:3533 -> a
-    1390:1390:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3551:3551 -> a
-    1390:1390:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3530 -> a
-    1391:1391:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
-    1391:1391:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3551 -> a
-    1391:1391:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3530 -> a
-    1392:1392:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
-    1392:1392:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
-    1392:1392:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3551 -> a
-    1392:1392:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3530 -> a
-    1393:1393:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3551:3551 -> a
-    1393:1393:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3530 -> a
-    1394:1394:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3547:3547 -> a
-    1394:1394:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3530 -> a
-    1395:1395:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
-    1395:1395:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3547 -> a
-    1395:1395:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3530 -> a
-    1396:1396:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
-    1396:1396:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
-    1396:1396:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3547 -> a
-    1396:1396:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3530 -> a
-    1397:1397:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3547:3547 -> a
-    1397:1397:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3530 -> a
-    1398:1404:void recursiveAddOperands(com.android.tools.r8.ir.code.Phi,java.util.Set,java.util.Set):3557:3563 -> a
-    1:1:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):187:187 -> b
-    2:1016:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1014 -> b
-    2:1016:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):189 -> b
-    1017:1039:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):191:213 -> b
-    1040:1040:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1187:1187 -> b
-    1040:1040:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):225 -> b
-    1041:1042:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):228:229 -> b
-    1043:1043:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
-    1043:1043:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):229 -> b
-    1044:1047:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):229:232 -> b
-    1048:1049:boolean isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):422:423 -> b
-    1050:1059:void unlinkTrivialGotoBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):462:471 -> b
-    1060:1060:boolean lambda$shortenLiveRanges$5(com.android.tools.r8.ir.code.ConstInstruction):1781:1781 -> b
-    1061:1066:boolean isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2348:2353 -> b
-    1067:1067:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2369:2369 -> b
-    1068:1074:boolean hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2357:2363 -> b
-    1068:1074:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2370 -> b
-    1075:1077:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2372:2374 -> b
-    1078:1078:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> b
-    1078:1078:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2374 -> b
-    1079:1092:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2375:2388 -> b
-    1093:1102:boolean shareCatchHandlers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2335:2344 -> b
-    1093:1102:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2389 -> b
-    1103:1119:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2390:2406 -> b
-    1:1:java.util.Map lambda$shortenLiveRangesInsideBlock$7(com.android.tools.r8.ir.code.BasicBlock):1964:1964 -> c
-    2:2:com.android.tools.r8.ir.code.DominatorTree lambda$redundantConstNumberRemoval$10(com.android.tools.r8.ir.code.IRCode):2620:2620 -> c
+    1:1:boolean lambda$removedTrivialGotos$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):237:237 -> a
+    2:25:void collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):423:446 -> a
+    26:26:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):513:513 -> a
+    27:27:boolean com.android.tools.r8.utils.InternalOptions.canHaveDex2OatInliningIssue():1528:1528 -> a
+    27:27:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):513 -> a
+    28:29:boolean com.android.tools.r8.ir.code.IRCode.hasCatchHandlers():655:656 -> a
+    28:29:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):513 -> a
+    30:41:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):520:531 -> a
+    42:42:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():30:30 -> a
+    42:42:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):531 -> a
+    43:50:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):532:539 -> a
+    51:87:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):691:727 -> a
+    88:88:java.lang.Object com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder.setBlockNumber(int):555:555 -> a
+    88:88:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):728 -> a
+    89:103:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):729:743 -> a
+    104:104:java.lang.Object com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder.setBlockNumber(int):555:555 -> a
+    104:104:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):744 -> a
+    105:114:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):745:754 -> a
+    115:128:com.android.tools.r8.ir.optimize.CodeRewriter$Interval combineOrAddInterval(java.util.List,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,com.android.tools.r8.ir.optimize.CodeRewriter$Interval):804:817 -> a
+    129:129:com.android.tools.r8.ir.optimize.CodeRewriter$Interval combineOrAddInterval(java.util.List,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,com.android.tools.r8.ir.optimize.CodeRewriter$Interval):814:814 -> a
+    130:141:void tryAddToBiggestSavings(java.util.Set,java.util.PriorityQueue,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,int):827:838 -> a
+    142:142:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):843:843 -> a
+    143:302:int com.android.tools.r8.ir.code.If.estimatedSize(com.android.tools.r8.utils.InternalOutputMode):0:159 -> a
+    143:302:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):843 -> a
+    303:310:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):843:850 -> a
+    311:311:int codeUnitMargin():857:857 -> a
+    312:352:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1016:1056 -> a
+    353:353:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
+    353:353:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1056 -> a
+    354:368:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1057:1071 -> a
+    369:369:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
+    369:369:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1071 -> a
+    370:405:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1073:1108 -> a
+    406:406:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
+    406:406:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1108 -> a
+    407:407:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1110:1110 -> a
+    408:422:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):862:876 -> a
+    408:422:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1111 -> a
+    423:423:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> a
+    423:423:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):876 -> a
+    423:423:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1111 -> a
+    424:435:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):882:893 -> a
+    424:435:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1111 -> a
+    436:436:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
+    436:436:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):893 -> a
+    436:436:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1111 -> a
+    437:486:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):894:943 -> a
+    437:486:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1111 -> a
+    487:487:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> a
+    487:487:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):944 -> a
+    487:487:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1111 -> a
+    488:488:int findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):949:949 -> a
+    488:488:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1111 -> a
+    489:497:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1115:1123 -> a
+    498:498:int lambda$rewriteIntSwitch$1(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,com.android.tools.r8.ir.optimize.CodeRewriter$Interval):1052:1052 -> a
+    499:513:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1173:1187 -> a
+    514:532:void collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):466:484 -> a
+    514:532:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1188 -> a
+    533:533:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1190:1190 -> a
+    534:547:void collapseNonFallthroughSwitchTargets(com.android.tools.r8.ir.code.BasicBlock):490:503 -> a
+    534:547:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1191 -> a
+    548:564:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1195:1211 -> a
+    565:571:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1444:1450 -> a
+    572:572:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    572:572:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1450 -> a
+    573:642:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1451:1520 -> a
+    643:643:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    643:643:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1521 -> a
+    644:644:boolean lambda$removeInstanceOfInstructionIfTrivial$2(com.android.tools.r8.ir.code.Value):1495:1495 -> a
+    645:647:boolean isNeverInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexType):1528:1530 -> a
+    648:648:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    648:648:boolean isNeverInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexType):1530 -> a
+    649:651:boolean isNeverInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexType):1530:1532 -> a
+    652:662:void removeOrReplaceByDebugLocalWrite(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):1537:1547 -> a
+    663:671:boolean isBinopWithLit8OrLit16(com.android.tools.r8.ir.code.Instruction):1668:1676 -> a
+    672:677:com.android.tools.r8.ir.code.Value binopWithLit8OrLit16NonConstant(com.android.tools.r8.ir.code.Binop):1695:1700 -> a
+    678:679:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1763:1764 -> a
+    680:686:void lambda$shortenLiveRanges$6(java.util.Map,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):1826:1832 -> a
+    687:786:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):1860:1959 -> a
+    787:837:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.ConstString.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstString):0:50 -> a
+    787:837:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):1959 -> a
+    838:839:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):1960:1961 -> a
+    840:887:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):1997:2044 -> a
+    888:889:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2575:2576 -> a
+    890:890:int negateBoolean(com.android.tools.r8.ir.code.ConstNumber):2741:2741 -> a
+    891:891:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():869:869 -> a
+    891:891:int negateBoolean(com.android.tools.r8.ir.code.ConstNumber):2741 -> a
+    892:893:int negateBoolean(com.android.tools.r8.ir.code.ConstNumber):2741:2742 -> a
+    894:921:boolean replaceDominatedConstNumbers(long,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier):2752:2779 -> a
+    922:922:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():869:869 -> a
+    922:922:boolean replaceDominatedConstNumbers(long,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier):2783 -> a
+    923:937:boolean replaceDominatedConstNumbers(long,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier):2798:2812 -> a
+    938:963:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3014:3039 -> a
+    964:966:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3050:3052 -> a
+    967:969:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):98:100 -> a
+    967:969:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3052 -> a
+    970:971:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3053:3054 -> a
+    972:992:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3175:3195 -> a
+    993:993:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):34:34 -> a
+    993:993:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3195 -> a
+    994:1010:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3195:3211 -> a
+    1011:1011:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3210:3210 -> a
+    1012:1012:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    1012:1012:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3209 -> a
+    1013:1024:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3209:3220 -> a
+    1025:1047:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3231:3253 -> a
+    1048:1048:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
+    1048:1048:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3253 -> a
+    1049:1049:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3254:3254 -> a
+    1050:1084:java.util.Set computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3291:3325 -> a
+    1050:1084:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3258 -> a
+    1085:1107:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3259:3281 -> a
+    1108:1108:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):168:168 -> a
+    1108:1108:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3281 -> a
+    1109:1113:void updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3336:3340 -> a
+    1114:1114:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
+    1114:1114:void updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3340 -> a
+    1115:1119:void updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3341:3345 -> a
+    1120:1120:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3398:3398 -> a
+    1121:1125:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3404:3408 -> a
+    1121:1125:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3400 -> a
+    1126:1126:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    1126:1126:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3408 -> a
+    1126:1126:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3400 -> a
+    1127:1127:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3413:3413 -> a
+    1127:1127:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3400 -> a
+    1128:1128:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3410:3410 -> a
+    1128:1128:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3400 -> a
+    1129:1129:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
+    1129:1129:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3410 -> a
+    1129:1129:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3400 -> a
+    1130:1130:boolean isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):3410:3410 -> a
+    1130:1130:boolean matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3400 -> a
+    1131:1131:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3419:3419 -> a
+    1132:1132:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    1132:1132:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3420 -> a
+    1133:1133:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3422:3422 -> a
+    1134:1134:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    1134:1134:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3422 -> a
+    1135:1136:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3422:3423 -> a
+    1137:1157:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3433:3453 -> a
+    1158:1158:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    1158:1158:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3452 -> a
+    1159:1165:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3455:3461 -> a
+    1166:1204:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3459:3497 -> a
+    1205:1208:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createIfBlock(int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRMetadata):1433:1436 -> a
+    1205:1208:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3497 -> a
+    1209:1231:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3498:3520 -> a
+    1232:1232:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    1232:1232:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3520 -> a
+    1233:1236:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3521:3521 -> a
+    1239:1252:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3524:3537 -> a
+    1253:1260:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3541:3548 -> a
+    1261:1271:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3561:3571 -> a
+    1261:1271:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3548 -> a
+    1272:1272:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3549:3549 -> a
+    1273:1298:void replaceTrivialNewInstancePhis(com.android.tools.r8.ir.code.Value):3594:3619 -> a
+    1273:1298:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3549 -> a
+    1299:1303:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3550:3554 -> a
+    1304:1304:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3551:3551 -> a
+    1305:1305:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
+    1305:1305:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3551 -> a
+    1306:1306:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
+    1306:1306:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
+    1306:1306:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3551 -> a
+    1307:1307:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3551:3551 -> a
+    1308:1308:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3569:3569 -> a
+    1308:1308:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3548 -> a
+    1309:1309:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
+    1309:1309:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3569 -> a
+    1309:1309:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3548 -> a
+    1310:1310:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
+    1310:1310:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
+    1310:1310:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3569 -> a
+    1310:1310:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3548 -> a
+    1311:1311:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3569:3569 -> a
+    1311:1311:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3548 -> a
+    1312:1312:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3565:3565 -> a
+    1312:1312:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3548 -> a
+    1313:1313:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
+    1313:1313:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3565 -> a
+    1313:1313:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3548 -> a
+    1314:1314:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
+    1314:1314:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
+    1314:1314:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3565 -> a
+    1314:1314:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3548 -> a
+    1315:1315:com.android.tools.r8.ir.code.NewInstance findNewInstance(com.android.tools.r8.ir.code.Phi):3565:3565 -> a
+    1315:1315:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3548 -> a
+    1316:1322:void recursiveAddOperands(com.android.tools.r8.ir.code.Phi,java.util.Set,java.util.Set):3575:3581 -> a
+    1:1:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):176:176 -> b
+    2:1020:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1018 -> b
+    2:1020:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):178 -> b
+    1021:1043:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):180:202 -> b
+    1044:1044:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1191:1191 -> b
+    1044:1044:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):214 -> b
+    1045:1046:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):217:218 -> b
+    1047:1047:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
+    1047:1047:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):218 -> b
+    1048:1051:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):218:221 -> b
+    1052:1053:boolean isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):411:412 -> b
+    1054:1063:void unlinkTrivialGotoBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):451:460 -> b
+    1064:1064:boolean lambda$shortenLiveRanges$5(com.android.tools.r8.ir.code.ConstInstruction):1772:1772 -> b
+    1065:1070:boolean isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2338:2343 -> b
+    1071:1071:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2359:2359 -> b
+    1072:1078:boolean hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2347:2353 -> b
+    1072:1078:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2360 -> b
+    1079:1081:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2362:2364 -> b
+    1082:1082:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> b
+    1082:1082:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2364 -> b
+    1083:1096:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2365:2378 -> b
+    1097:1106:boolean shareCatchHandlers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2325:2334 -> b
+    1097:1106:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2379 -> b
+    1107:1123:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2380:2396 -> b
+    1:1:java.util.Map lambda$shortenLiveRangesInsideBlock$7(com.android.tools.r8.ir.code.BasicBlock):1955:1955 -> c
+    2:2:com.android.tools.r8.ir.code.DominatorTree lambda$redundantConstNumberRemoval$10(com.android.tools.r8.ir.code.IRCode):2613:2613 -> c
     3:3:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> c
-    3:3:com.android.tools.r8.ir.code.DominatorTree lambda$redundantConstNumberRemoval$10(com.android.tools.r8.ir.code.IRCode):2620 -> c
-    4:4:boolean lambda$logArgumentTypes$11(com.android.tools.r8.ir.code.Instruction):3424:3424 -> c
-    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2724:2724 -> d
-    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2619 -> d
+    3:3:com.android.tools.r8.ir.code.DominatorTree lambda$redundantConstNumberRemoval$10(com.android.tools.r8.ir.code.IRCode):2613 -> c
+    4:4:boolean lambda$logArgumentTypes$11(com.android.tools.r8.ir.code.Instruction):3442:3442 -> c
+    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2717:2717 -> d
+    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2612 -> d
     2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.<init>():119:119 -> d
-    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2724 -> d
-    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2619 -> d
-    3:16:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2727:2740 -> d
-    3:16:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2619 -> d
-    1:1:com.android.tools.r8.ir.code.DominatorTree lambda$shortenLiveRanges$3(com.android.tools.r8.ir.code.IRCode):1760:1760 -> e
+    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2717 -> d
+    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2612 -> d
+    3:16:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2720:2733 -> d
+    3:16:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2612 -> d
+    1:1:com.android.tools.r8.ir.code.DominatorTree lambda$shortenLiveRanges$3(com.android.tools.r8.ir.code.IRCode):1751:1751 -> e
     2:2:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> e
-    2:2:com.android.tools.r8.ir.code.DominatorTree lambda$shortenLiveRanges$3(com.android.tools.r8.ir.code.IRCode):1760 -> e
-    1:47:void processMethodsNeverReturningNormally(com.android.tools.r8.ir.code.IRCode):2830:2876 -> f
-    48:48:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createConstNull(com.android.tools.r8.graph.DebugLocalInfo):1154:1154 -> f
-    48:48:void processMethodsNeverReturningNormally(com.android.tools.r8.ir.code.IRCode):2876 -> f
-    49:61:void processMethodsNeverReturningNormally(com.android.tools.r8.ir.code.IRCode):2877:2889 -> f
-    62:62:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> f
-    62:62:void processMethodsNeverReturningNormally(com.android.tools.r8.ir.code.IRCode):2889 -> f
-    63:65:void processMethodsNeverReturningNormally(com.android.tools.r8.ir.code.IRCode):2889:2891 -> f
-    1:51:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2608:2658 -> g
-    52:52:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():981:981 -> g
-    52:52:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2659 -> g
-    53:62:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2661:2670 -> g
-    63:63:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2669:2669 -> g
-    64:64:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():981:981 -> g
-    64:64:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2676 -> g
-    65:65:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2679:2679 -> g
-    66:79:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2678:2691 -> g
-    80:80:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2690:2690 -> g
-    81:81:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():981:981 -> g
-    81:81:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2697 -> g
-    82:82:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2700:2700 -> g
-    83:102:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2699:2718 -> g
-    1:31:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1316:1346 -> h
+    2:2:com.android.tools.r8.ir.code.DominatorTree lambda$shortenLiveRanges$3(com.android.tools.r8.ir.code.IRCode):1751 -> e
+    1:58:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):2822:2879 -> f
+    59:59:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo.hasNonNullParamOrThrow():48:48 -> f
+    59:59:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):2883 -> f
+    60:83:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):2884:2907 -> f
+    84:84:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> f
+    84:84:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):2907 -> f
+    85:87:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):2907:2909 -> f
+    1:51:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2601:2651 -> g
+    52:52:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():869:869 -> g
+    52:52:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2652 -> g
+    53:62:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2654:2663 -> g
+    63:63:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2662:2662 -> g
+    64:64:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():869:869 -> g
+    64:64:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2669 -> g
+    65:65:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2672:2672 -> g
+    66:79:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2671:2684 -> g
+    80:80:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2683:2683 -> g
+    81:81:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():869:869 -> g
+    81:81:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2690 -> g
+    82:82:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2693:2693 -> g
+    83:102:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2692:2711 -> g
+    1:31:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1305:1335 -> h
     32:32:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> h
-    32:32:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1346 -> h
-    33:33:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1347:1347 -> h
-    34:34:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> h
-    34:34:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1348 -> h
-    35:40:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1350:1355 -> h
-    41:50:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult removeCheckCastInstructionIfTrivial(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,java.util.Set):1387:1396 -> h
-    41:50:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1355 -> h
-    51:51:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> h
-    51:51:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult removeCheckCastInstructionIfTrivial(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,java.util.Set):1396 -> h
-    51:51:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1355 -> h
-    52:103:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult removeCheckCastInstructionIfTrivial(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,java.util.Set):1398:1449 -> h
-    52:103:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1355 -> h
-    104:112:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1356:1364 -> h
-    113:113:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1187:1187 -> h
-    113:113:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1376 -> h
-    114:118:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1377:1381 -> h
-    1:13:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):236:248 -> i
-    14:20:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):245:251 -> i
-    1:1:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> j
-    1:1:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3122 -> j
-    2:26:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3123:3147 -> j
-    27:27:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> j
-    27:27:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3148 -> j
+    32:32:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1335 -> h
+    33:33:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1336:1336 -> h
+    34:34:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> h
+    34:34:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1337 -> h
+    35:40:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1339:1344 -> h
+    41:50:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult removeCheckCastInstructionIfTrivial(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,java.util.Set):1376:1385 -> h
+    41:50:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1344 -> h
+    51:51:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> h
+    51:51:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult removeCheckCastInstructionIfTrivial(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,java.util.Set):1385 -> h
+    51:51:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1344 -> h
+    52:103:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult removeCheckCastInstructionIfTrivial(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,java.util.Set):1387:1438 -> h
+    52:103:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1344 -> h
+    104:112:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1345:1353 -> h
+    113:113:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1191:1191 -> h
+    113:113:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1365 -> h
+    114:118:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode):1366:1370 -> h
+    1:13:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):225:237 -> i
+    14:20:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):234:240 -> i
+    1:1:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> j
+    1:1:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3140 -> j
+    2:26:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3141:3165 -> j
+    27:27:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1119:1119 -> j
+    27:27:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3166 -> j
     28:28:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> j
-    28:28:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3149 -> j
-    29:29:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3153:3153 -> j
-    1:1:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1248:1248 -> k
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> k
-    2:2:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1248 -> k
-    3:29:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1248:1274 -> k
-    30:30:boolean checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1228:1228 -> k
-    30:30:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1276 -> k
-    31:37:com.android.tools.r8.graph.DexType getArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1237:1243 -> k
-    31:37:boolean checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1230 -> k
-    31:37:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1276 -> k
-    38:41:boolean checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1230:1233 -> k
-    38:41:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1276 -> k
-    42:62:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1277:1297 -> k
-    63:63:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1187:1187 -> k
-    63:63:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1298 -> k
-    64:65:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1299:1300 -> k
-    66:66:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1187:1187 -> k
-    66:66:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1301 -> k
-    67:68:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1303:1304 -> k
+    28:28:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3167 -> j
+    29:29:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3171:3171 -> j
+    1:1:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1237:1237 -> k
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> k
+    2:2:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1237 -> k
+    3:29:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1237:1263 -> k
+    30:30:boolean checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1217:1217 -> k
+    30:30:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1265 -> k
+    31:37:com.android.tools.r8.graph.DexType getArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1226:1232 -> k
+    31:37:boolean checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1219 -> k
+    31:37:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1265 -> k
+    38:41:boolean checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1219:1222 -> k
+    38:41:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1265 -> k
+    42:62:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1266:1286 -> k
+    63:63:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1191:1191 -> k
+    63:63:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1287 -> k
+    64:65:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1288:1289 -> k
+    66:66:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1191:1191 -> k
+    66:66:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1290 -> k
+    67:68:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1292:1293 -> k
     69:69:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> k
-    69:69:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1304 -> k
-    70:72:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1304:1306 -> k
-    1:34:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):260:293 -> l
-    35:35:boolean com.android.tools.r8.ir.code.Value.isConstZero():894:894 -> l
-    35:35:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):295 -> l
-    36:44:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):297:305 -> l
-    45:45:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):42:42 -> l
-    45:45:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):305 -> l
-    46:92:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):309:355 -> l
-    93:117:void rewriteIfToRequireNonNull(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):3047:3071 -> l
-    93:117:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):348 -> l
-    118:172:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):361:415 -> l
-    173:173:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> l
-    173:173:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):415 -> l
-    174:177:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):415:418 -> l
-    1:17:void rewriteThrowableAddAndGetSuppressed(com.android.tools.r8.ir.code.IRCode):3337:3353 -> m
-    18:18:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> m
-    18:18:void rewriteThrowableAddAndGetSuppressed(com.android.tools.r8.ir.code.IRCode):3360 -> m
-    19:34:void rewriteThrowableAddAndGetSuppressed(com.android.tools.r8.ir.code.IRCode):3361:3376 -> m
-    1:54:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1759:1812 -> n
-    55:55:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():30:30 -> n
-    55:55:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1812 -> n
-    56:56:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):30:30 -> n
-    56:56:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1813 -> n
-    57:71:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1814:1828 -> n
-    72:72:boolean com.android.tools.r8.utils.InternalOptions.canHaveCmpIfFloatBug():1477:1477 -> n
-    72:72:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1829 -> n
-    73:76:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1829:1832 -> n
-    77:78:void forEachUse(com.android.tools.r8.ir.code.Instruction,java.util.function.Consumer):1859:1860 -> n
-    77:78:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1832 -> n
-    79:88:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1846:1855 -> n
-    1:1:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2083:2083 -> o
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> o
-    2:2:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2083 -> o
-    3:11:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2086:2094 -> o
-    12:28:boolean allowNewFilledArrayConstruction(com.android.tools.r8.ir.code.Instruction):2059:2075 -> o
-    12:28:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2095 -> o
-    29:60:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2098:2129 -> o
-    61:77:short[] computeArrayFilledData(com.android.tools.r8.ir.code.ConstInstruction[],int,int):1979:1995 -> o
-    61:77:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2130 -> o
-    78:124:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2134:2180 -> o
-    1:12:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2217:2228 -> p
-    13:35:boolean hasLocalOrLineChangeBetween(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):2186:2208 -> p
-    13:35:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2230 -> p
-    36:49:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2231:2244 -> p
-    50:50:boolean hasLocalOrLineChangeBetween(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):2213:2213 -> p
-    50:50:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2230 -> p
-    1:6:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2416:2421 -> q
-    7:21:boolean flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3101:3115 -> q
-    7:21:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2422 -> q
-    22:24:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):98:100 -> q
-    22:24:boolean flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3116 -> q
-    22:24:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2422 -> q
-    25:25:boolean flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3117:3117 -> q
-    25:25:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2422 -> q
-    26:37:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3075:3086 -> q
-    26:37:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    38:51:com.android.tools.r8.ir.code.If$Type com.android.tools.r8.ir.code.If$Type.forSwappedOperands():27:40 -> q
-    38:51:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3086 -> q
-    38:51:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    52:52:com.android.tools.r8.ir.code.If$Type com.android.tools.r8.ir.code.If$Type.forSwappedOperands():38:38 -> q
-    52:52:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3086 -> q
-    52:52:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    53:53:com.android.tools.r8.ir.code.If$Type com.android.tools.r8.ir.code.If$Type.forSwappedOperands():36:36 -> q
-    53:53:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3086 -> q
-    53:53:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    54:54:com.android.tools.r8.ir.code.If$Type com.android.tools.r8.ir.code.If$Type.forSwappedOperands():34:34 -> q
-    54:54:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3086 -> q
-    54:54:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    55:55:com.android.tools.r8.ir.code.If$Type com.android.tools.r8.ir.code.If$Type.forSwappedOperands():32:32 -> q
-    55:55:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3086 -> q
-    55:55:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    56:56:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3086:3086 -> q
-    56:56:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    57:59:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):98:100 -> q
-    57:59:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3087 -> q
-    57:59:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    60:64:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3088:3092 -> q
-    60:64:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    65:67:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):98:100 -> q
-    65:67:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3093 -> q
-    65:67:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    68:68:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3094:3094 -> q
-    68:68:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2423 -> q
-    69:71:boolean simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):2925:2927 -> q
-    69:71:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2425 -> q
-    72:72:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():981:981 -> q
-    72:72:boolean simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):2927 -> q
-    72:72:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2425 -> q
-    73:107:boolean simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):2928:2962 -> q
-    73:107:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2425 -> q
-    108:108:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1574:1574 -> q
-    108:108:boolean simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):2963 -> q
-    108:108:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2425 -> q
-    109:130:boolean simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):2965:2986 -> q
-    109:130:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2425 -> q
-    131:154:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2430:2453 -> q
-    155:155:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    155:155:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2454 -> q
-    156:170:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2457:2471 -> q
-    171:171:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    171:171:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2472 -> q
-    172:172:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2463:2463 -> q
-    173:173:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    173:173:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2464 -> q
-    174:184:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2479:2489 -> q
-    185:185:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    185:185:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2490 -> q
-    186:201:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2493:2508 -> q
-    202:202:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    202:202:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2509 -> q
-    203:203:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2499:2499 -> q
-    204:204:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    204:204:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2500 -> q
-    205:209:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2519:2523 -> q
-    210:210:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    210:210:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2524 -> q
-    211:211:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2526:2526 -> q
-    212:212:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    212:212:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2527 -> q
-    213:227:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2532:2546 -> q
-    228:228:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2545:2545 -> q
-    229:229:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    229:229:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2541 -> q
-    230:235:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2548:2553 -> q
-    236:236:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    236:236:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2554 -> q
-    237:237:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2556:2556 -> q
-    238:238:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> q
-    238:238:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2556 -> q
-    239:241:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2557:2559 -> q
-    242:242:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> q
-    242:242:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2559 -> q
-    243:243:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2560:2560 -> q
-    244:244:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2587:2587 -> q
-    244:244:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2561 -> q
-    245:247:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2571:2573 -> q
-    248:248:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> q
-    248:248:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2573 -> q
-    249:252:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2573:2576 -> q
-    1:30:void splitRangeInvokeConstants(com.android.tools.r8.ir.code.IRCode):1564:1593 -> r
-    1:31:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1604:1634 -> s
-    32:32:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> s
-    32:32:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1634 -> s
-    33:51:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1634:1652 -> s
-    52:65:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1720:1733 -> s
-    52:65:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1653 -> s
-    66:66:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):449:449 -> s
-    66:66:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1733 -> s
-    66:66:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1653 -> s
-    67:67:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1734:1734 -> s
-    67:67:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1653 -> s
-    68:68:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> s
-    68:68:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1734 -> s
-    68:68:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1653 -> s
-    69:76:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1735:1742 -> s
-    69:76:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1653 -> s
-    77:2032:boolean com.android.tools.r8.ir.code.BasicBlock.hasPathTo(com.android.tools.r8.ir.code.BasicBlock):0:1955 -> s
-    77:2032:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1745 -> s
-    77:2032:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1653 -> s
-    2033:2033:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1748:1748 -> s
-    2033:2033:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1653 -> s
-    2034:2039:com.android.tools.r8.ir.code.Value binopWithLit8OrLit16Constant(com.android.tools.r8.ir.code.Instruction):1691:1696 -> s
-    2034:2039:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1655 -> s
-    2040:2050:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1656:1666 -> s
-    2051:2051:com.android.tools.r8.ir.code.Value binopWithLit8OrLit16Constant(com.android.tools.r8.ir.code.Instruction):1698:1698 -> s
-    2051:2051:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1655 -> s
-    2052:2052:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1672:1672 -> s
-    1:40:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3663:3702 -> t
-com.android.tools.r8.ir.optimize.CodeRewriter$1 -> com.android.tools.r8.ir.optimize.l$a:
-com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence -> com.android.tools.r8.ir.optimize.l$b:
-    com.android.tools.r8.utils.InternalOptions options -> a
-    boolean $assertionsDisabled -> b
-    1:1:void <clinit>():2251:2251 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.optimize.CodeRewriter$1):2251:2251 -> <init>
-    2:3:void <init>(com.android.tools.r8.utils.InternalOptions):2255:2256 -> <init>
-    1:6:boolean identicalValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):2315:2320 -> a
-    7:11:int getHashCode(com.android.tools.r8.ir.code.Value):2326:2330 -> a
-    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):2251:2251 -> doEquivalent
-    2:2:boolean doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2264:2264 -> doEquivalent
-    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):2251 -> doEquivalent
-    3:3:boolean com.android.tools.r8.utils.InternalOptions.canHaveCmpLongBug():1449:1449 -> doEquivalent
-    3:3:boolean doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2264 -> doEquivalent
-    3:3:boolean doEquivalent(java.lang.Object,java.lang.Object):2251 -> doEquivalent
-    4:19:boolean doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2268:2283 -> doEquivalent
-    4:19:boolean doEquivalent(java.lang.Object,java.lang.Object):2251 -> doEquivalent
-    1:1:int doHash(java.lang.Object):2251:2251 -> doHash
-    2:16:int doHash(com.android.tools.r8.ir.code.Instruction):2294:2308 -> doHash
-    2:16:int doHash(java.lang.Object):2251 -> doHash
-com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder -> com.android.tools.r8.ir.optimize.l$c:
-    com.android.tools.r8.ir.code.BasicBlock fallthrough -> g
-    com.android.tools.r8.ir.code.BasicBlock target -> f
-    com.android.tools.r8.ir.code.Value left -> d
-    com.android.tools.r8.ir.code.IRCode code -> c
-    boolean $assertionsDisabled -> h
-    int right -> e
-    1:1:void <clinit>():631:631 -> <clinit>
-    1:2:void <init>(com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRCode):639:640 -> <init>
-    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setLeft(com.android.tools.r8.ir.code.Value):649:649 -> a
-    2:2:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setRight(int):654:654 -> a
-    3:3:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setFallthrough(com.android.tools.r8.ir.code.BasicBlock):664:664 -> a
-    4:9:com.android.tools.r8.ir.code.BasicBlock build():669:674 -> a
-    10:10:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
-    10:10:com.android.tools.r8.ir.code.BasicBlock build():674 -> a
-    11:16:com.android.tools.r8.ir.code.BasicBlock build():675:680 -> a
-    17:20:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createIfBlock(int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRMetadata):1452:1455 -> a
-    17:20:com.android.tools.r8.ir.code.BasicBlock build():680 -> a
-    21:23:com.android.tools.r8.ir.code.BasicBlock build():682:684 -> a
-    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setTarget(com.android.tools.r8.ir.code.BasicBlock):659:659 -> b
-com.android.tools.r8.ir.optimize.CodeRewriter$InstanceOfResult -> com.android.tools.r8.ir.optimize.l$d:
+    69:69:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1293 -> k
+    70:72:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1293:1295 -> k
+    1:1:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):954:954 -> l
+    2:15:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):958:971 -> l
+    2:15:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):954 -> l
+    16:45:com.android.tools.r8.ir.optimize.SwitchCaseEliminator removeUnnecessarySwitchCases(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1133:1162 -> l
+    16:45:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):973 -> l
+    16:45:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):954 -> l
+    46:75:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):975:1004 -> l
+    46:75:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):954 -> l
+    76:76:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> l
+    76:76:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1004 -> l
+    76:76:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):954 -> l
+    77:80:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1004:1007 -> l
+    77:80:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):954 -> l
+    1:34:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):249:282 -> m
+    35:35:boolean com.android.tools.r8.ir.code.Value.isConstZero():782:782 -> m
+    35:35:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):284 -> m
+    36:44:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):286:294 -> m
+    45:45:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):42:42 -> m
+    45:45:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):294 -> m
+    46:92:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):298:344 -> m
+    93:117:void rewriteIfToRequireNonNull(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):3065:3089 -> m
+    93:117:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):337 -> m
+    118:172:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):350:404 -> m
+    173:173:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> m
+    173:173:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):404 -> m
+    174:177:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):404:407 -> m
+    1:17:void rewriteThrowableAddAndGetSuppressed(com.android.tools.r8.ir.code.IRCode):3355:3371 -> n
+    18:18:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1119:1119 -> n
+    18:18:void rewriteThrowableAddAndGetSuppressed(com.android.tools.r8.ir.code.IRCode):3378 -> n
+    19:34:void rewriteThrowableAddAndGetSuppressed(com.android.tools.r8.ir.code.IRCode):3379:3394 -> n
+    1:54:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1750:1803 -> o
+    55:55:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():30:30 -> o
+    55:55:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1803 -> o
+    56:56:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):30:30 -> o
+    56:56:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1804 -> o
+    57:71:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1805:1819 -> o
+    72:72:boolean com.android.tools.r8.utils.InternalOptions.canHaveCmpIfFloatBug():1489:1489 -> o
+    72:72:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1820 -> o
+    73:76:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1820:1823 -> o
+    77:78:void forEachUse(com.android.tools.r8.ir.code.Instruction,java.util.function.Consumer):1850:1851 -> o
+    77:78:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1823 -> o
+    79:88:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1837:1846 -> o
+    1:1:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2074:2074 -> p
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> p
+    2:2:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2074 -> p
+    3:11:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2077:2085 -> p
+    12:28:boolean allowNewFilledArrayConstruction(com.android.tools.r8.ir.code.Instruction):2050:2066 -> p
+    12:28:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2086 -> p
+    29:60:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2089:2120 -> p
+    61:77:short[] computeArrayFilledData(com.android.tools.r8.ir.code.ConstInstruction[],int,int):1970:1986 -> p
+    61:77:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2121 -> p
+    78:124:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2125:2171 -> p
+    1:12:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2208:2219 -> q
+    13:35:boolean hasLocalOrLineChangeBetween(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):2177:2199 -> q
+    13:35:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2221 -> q
+    36:48:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2222:2234 -> q
+    49:49:boolean hasLocalOrLineChangeBetween(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):2204:2204 -> q
+    49:49:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2221 -> q
+    1:6:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2406:2411 -> r
+    7:21:boolean flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3119:3133 -> r
+    7:21:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2412 -> r
+    22:24:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):98:100 -> r
+    22:24:boolean flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3134 -> r
+    22:24:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2412 -> r
+    25:25:boolean flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3135:3135 -> r
+    25:25:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2412 -> r
+    26:37:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3093:3104 -> r
+    26:37:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    38:51:com.android.tools.r8.ir.code.If$Type com.android.tools.r8.ir.code.If$Type.forSwappedOperands():27:40 -> r
+    38:51:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3104 -> r
+    38:51:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    52:52:com.android.tools.r8.ir.code.If$Type com.android.tools.r8.ir.code.If$Type.forSwappedOperands():38:38 -> r
+    52:52:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3104 -> r
+    52:52:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    53:53:com.android.tools.r8.ir.code.If$Type com.android.tools.r8.ir.code.If$Type.forSwappedOperands():36:36 -> r
+    53:53:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3104 -> r
+    53:53:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    54:54:com.android.tools.r8.ir.code.If$Type com.android.tools.r8.ir.code.If$Type.forSwappedOperands():34:34 -> r
+    54:54:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3104 -> r
+    54:54:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    55:55:com.android.tools.r8.ir.code.If$Type com.android.tools.r8.ir.code.If$Type.forSwappedOperands():32:32 -> r
+    55:55:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3104 -> r
+    55:55:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    56:56:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3104:3104 -> r
+    56:56:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    57:59:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):98:100 -> r
+    57:59:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3105 -> r
+    57:59:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    60:64:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3106:3110 -> r
+    60:64:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    65:67:void com.android.tools.r8.ir.code.BasicBlock.replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):98:100 -> r
+    65:67:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3111 -> r
+    65:67:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    68:68:void rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3112:3112 -> r
+    68:68:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2413 -> r
+    69:71:boolean simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):2943:2945 -> r
+    69:71:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2415 -> r
+    72:72:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():869:869 -> r
+    72:72:boolean simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):2945 -> r
+    72:72:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2415 -> r
+    73:107:boolean simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):2946:2980 -> r
+    73:107:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2415 -> r
+    108:108:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> r
+    108:108:boolean simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):2981 -> r
+    108:108:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2415 -> r
+    109:130:boolean simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):2983:3004 -> r
+    109:130:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2415 -> r
+    131:154:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2420:2443 -> r
+    155:155:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    155:155:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2444 -> r
+    156:170:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2447:2461 -> r
+    171:171:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    171:171:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2462 -> r
+    172:172:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2453:2453 -> r
+    173:173:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    173:173:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2454 -> r
+    174:184:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2469:2479 -> r
+    185:185:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    185:185:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2480 -> r
+    186:201:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2483:2498 -> r
+    202:202:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    202:202:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2499 -> r
+    203:203:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2489:2489 -> r
+    204:204:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    204:204:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2490 -> r
+    205:209:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2509:2513 -> r
+    210:210:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    210:210:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2514 -> r
+    211:211:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2516:2516 -> r
+    212:212:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    212:212:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2517 -> r
+    213:227:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2522:2536 -> r
+    228:228:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2535:2535 -> r
+    229:229:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    229:229:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2531 -> r
+    230:235:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2538:2543 -> r
+    236:236:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    236:236:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2544 -> r
+    237:244:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2546:2553 -> r
+    245:245:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2580:2580 -> r
+    245:245:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2554 -> r
+    246:248:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2564:2566 -> r
+    249:249:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> r
+    249:249:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2566 -> r
+    250:253:boolean simplifyIf(com.android.tools.r8.ir.code.IRCode):2566:2569 -> r
+    1:30:void splitRangeInvokeConstants(com.android.tools.r8.ir.code.IRCode):1555:1584 -> s
+    1:31:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1595:1625 -> t
+    32:32:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> t
+    32:32:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1625 -> t
+    33:51:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1625:1643 -> t
+    52:65:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1711:1724 -> t
+    52:65:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1644 -> t
+    66:66:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):449:449 -> t
+    66:66:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1724 -> t
+    66:66:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1644 -> t
+    67:67:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1725:1725 -> t
+    67:67:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1644 -> t
+    68:68:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> t
+    68:68:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1725 -> t
+    68:68:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1644 -> t
+    69:76:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1726:1733 -> t
+    69:76:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1644 -> t
+    77:2013:boolean com.android.tools.r8.ir.code.BasicBlock.hasPathTo(com.android.tools.r8.ir.code.BasicBlock):0:1936 -> t
+    77:2013:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1736 -> t
+    77:2013:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1644 -> t
+    2014:2014:boolean canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1739:1739 -> t
+    2014:2014:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1644 -> t
+    2015:2020:com.android.tools.r8.ir.code.Value binopWithLit8OrLit16Constant(com.android.tools.r8.ir.code.Instruction):1682:1687 -> t
+    2015:2020:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1646 -> t
+    2021:2031:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1647:1657 -> t
+    2032:2032:com.android.tools.r8.ir.code.Value binopWithLit8OrLit16Constant(com.android.tools.r8.ir.code.Instruction):1689:1689 -> t
+    2032:2032:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1646 -> t
+    2033:2033:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1663:1663 -> t
+    1:40:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3681:3720 -> u
+com.android.tools.r8.ir.optimize.CodeRewriter$1 -> com.android.tools.r8.ir.optimize.k$a:
+com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence -> com.android.tools.r8.ir.optimize.k$b:
+    com.android.tools.r8.utils.InternalOptions options -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():2241:2241 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.optimize.CodeRewriter$1):2241:2241 -> <init>
+    2:3:void <init>(com.android.tools.r8.utils.InternalOptions):2245:2246 -> <init>
+    1:6:boolean identicalValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):2305:2310 -> a
+    7:11:int getHashCode(com.android.tools.r8.ir.code.Value):2316:2320 -> a
+    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):2241:2241 -> doEquivalent
+    2:2:boolean doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2254:2254 -> doEquivalent
+    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):2241 -> doEquivalent
+    3:3:boolean com.android.tools.r8.utils.InternalOptions.canHaveCmpLongBug():1461:1461 -> doEquivalent
+    3:3:boolean doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2254 -> doEquivalent
+    3:3:boolean doEquivalent(java.lang.Object,java.lang.Object):2241 -> doEquivalent
+    4:19:boolean doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2258:2273 -> doEquivalent
+    4:19:boolean doEquivalent(java.lang.Object,java.lang.Object):2241 -> doEquivalent
+    1:1:int doHash(java.lang.Object):2241:2241 -> doHash
+    2:16:int doHash(com.android.tools.r8.ir.code.Instruction):2284:2298 -> doHash
+    2:16:int doHash(java.lang.Object):2241 -> doHash
+com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder -> com.android.tools.r8.ir.optimize.k$c:
+    com.android.tools.r8.ir.code.BasicBlock fallthrough -> h
+    com.android.tools.r8.ir.code.BasicBlock target -> g
+    com.android.tools.r8.ir.code.IRCode code -> d
+    com.android.tools.r8.ir.code.Value left -> e
+    int right -> f
+    boolean $assertionsDisabled -> c
+    1:1:void <clinit>():620:620 -> <clinit>
+    1:2:void <init>(com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRCode):628:629 -> <init>
+    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setLeft(com.android.tools.r8.ir.code.Value):638:638 -> a
+    2:2:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setRight(int):643:643 -> a
+    3:3:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setFallthrough(com.android.tools.r8.ir.code.BasicBlock):653:653 -> a
+    4:9:com.android.tools.r8.ir.code.BasicBlock build():658:663 -> a
+    10:10:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1119:1119 -> a
+    10:10:com.android.tools.r8.ir.code.BasicBlock build():663 -> a
+    11:16:com.android.tools.r8.ir.code.BasicBlock build():664:669 -> a
+    17:20:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createIfBlock(int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRMetadata):1433:1436 -> a
+    17:20:com.android.tools.r8.ir.code.BasicBlock build():669 -> a
+    21:23:com.android.tools.r8.ir.code.BasicBlock build():671:673 -> a
+    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setTarget(com.android.tools.r8.ir.code.BasicBlock):648:648 -> b
+com.android.tools.r8.ir.optimize.CodeRewriter$InstanceOfResult -> com.android.tools.r8.ir.optimize.k$d:
     com.android.tools.r8.ir.optimize.CodeRewriter$InstanceOfResult FALSE -> c
     com.android.tools.r8.ir.optimize.CodeRewriter$InstanceOfResult TRUE -> b
     com.android.tools.r8.ir.optimize.CodeRewriter$InstanceOfResult UNKNOWN -> a
-    1:3:void <clinit>():139:141 -> <clinit>
-    1:1:void <init>(java.lang.String,int):138:138 -> <init>
-com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder -> com.android.tools.r8.ir.optimize.l$e:
+    1:3:void <clinit>():143:145 -> <clinit>
+    1:1:void <init>(java.lang.String,int):142:142 -> <init>
+com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder -> com.android.tools.r8.ir.optimize.k$e:
     com.android.tools.r8.ir.code.Position position -> b
     int blockNumber -> a
-    1:2:void <init>(com.android.tools.r8.ir.code.Position):559:560 -> <init>
-com.android.tools.r8.ir.optimize.CodeRewriter$Interval -> com.android.tools.r8.ir.optimize.l$f:
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList keys -> a
-    boolean $assertionsDisabled -> b
-    1:1:void <clinit>():768:768 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList[]):772:772 -> <init>
-    2:8:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList[]):770:776 -> <init>
-    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList access$000(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):768:768 -> a
-    2:2:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode):806:806 -> a
-    1:1:int getMax():785:785 -> b
-    1:1:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):794 -> b
-    2:2:int getMin():781:781 -> b
-    2:2:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):794 -> b
-    3:3:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):795:795 -> b
+    1:2:void <init>(com.android.tools.r8.ir.code.Position):548:549 -> <init>
+com.android.tools.r8.ir.optimize.CodeRewriter$Interval -> com.android.tools.r8.ir.optimize.k$f:
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList keys -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():757:757 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList[]):761:761 -> <init>
+    2:8:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList[]):759:765 -> <init>
+    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList access$000(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):757:757 -> a
+    2:2:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode):795:795 -> a
+    1:1:int getMax():774:774 -> b
+    1:1:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):783 -> b
+    2:2:int getMin():770:770 -> b
+    2:2:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):783 -> b
+    3:3:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):784:784 -> b
     4:4:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> b
-    4:4:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):799 -> b
-    5:5:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):799:799 -> b
+    4:4:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):788 -> b
+    5:5:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):788:788 -> b
     6:6:int com.android.tools.r8.ir.code.IntSwitch.basePackedSize(com.android.tools.r8.utils.InternalOutputMode):109:109 -> b
-    6:6:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):801 -> b
-    7:7:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):801:801 -> b
-    8:8:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):789:789 -> b
-    9:9:int getMax():785:785 -> b
-    9:9:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):789 -> b
-    10:10:int getMin():781:781 -> b
-    10:10:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):789 -> b
-    11:12:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):789:790 -> b
-com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult -> com.android.tools.r8.ir.optimize.l$g:
+    6:6:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):790 -> b
+    7:7:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):790:790 -> b
+    8:8:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):778:778 -> b
+    9:9:int getMax():774:774 -> b
+    9:9:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):778 -> b
+    10:10:int getMin():770:770 -> b
+    10:10:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):778 -> b
+    11:12:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):778:779 -> b
+com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult -> com.android.tools.r8.ir.optimize.k$g:
     com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult NO_REMOVALS -> a
     com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult REMOVED_CAST_DO_NARROW -> b
-    1:2:void <clinit>():1311:1312 -> <clinit>
-    1:1:void <init>(java.lang.String,int):1310:1310 -> <init>
-com.android.tools.r8.ir.optimize.CodeRewriter$SCC -> com.android.tools.r8.ir.optimize.l$h:
-    java.util.Deque unassignedStack -> d
-    java.util.Set unassignedSet -> c
-    java.util.List components -> f
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap discoverTime -> b
-    java.util.Deque preorderStack -> e
-    boolean $assertionsDisabled -> g
-    int currentTime -> a
-    1:1:void <clinit>():3608:3608 -> <clinit>
-    1:8:void <init>():3608:3615 -> <init>
-    9:9:void <init>(com.android.tools.r8.ir.optimize.CodeRewriter$1):3608:3608 -> <init>
-    1:3:java.util.List computeSCC(com.android.tools.r8.ir.code.Value):3618:3620 -> a
-    1:33:void dfs(com.android.tools.r8.ir.code.Value):3624:3656 -> b
-com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder -> com.android.tools.r8.ir.optimize.l$i:
+    1:2:void <clinit>():1300:1301 -> <clinit>
+    1:1:void <init>(java.lang.String,int):1299:1299 -> <init>
+com.android.tools.r8.ir.optimize.CodeRewriter$SCC -> com.android.tools.r8.ir.optimize.k$h:
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap discoverTime -> c
+    java.util.Set unassignedSet -> d
+    java.util.Deque preorderStack -> f
+    java.util.Deque unassignedStack -> e
+    java.util.List components -> g
+    boolean $assertionsDisabled -> a
+    int currentTime -> b
+    1:1:void <clinit>():3626:3626 -> <clinit>
+    1:8:void <init>():3626:3633 -> <init>
+    9:9:void <init>(com.android.tools.r8.ir.optimize.CodeRewriter$1):3626:3626 -> <init>
+    1:3:java.util.List computeSCC(com.android.tools.r8.ir.code.Value):3636:3638 -> a
+    1:33:void dfs(com.android.tools.r8.ir.code.Value):3642:3674 -> b
+com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder -> com.android.tools.r8.ir.optimize.k$i:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap keyToTarget -> d
     com.android.tools.r8.ir.code.BasicBlock fallthrough -> e
     com.android.tools.r8.ir.code.Value value -> c
-    1:1:void <init>(com.android.tools.r8.ir.code.Position):577:577 -> <init>
-    2:2:void <init>(com.android.tools.r8.ir.code.Position):573:573 -> <init>
-    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder setValue(com.android.tools.r8.ir.code.Value):586:586 -> a
-    2:2:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder addKeyAndTarget(int,com.android.tools.r8.ir.code.BasicBlock):591:591 -> a
-    3:3:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder setFallthrough(com.android.tools.r8.ir.code.BasicBlock):596:596 -> a
-    4:25:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):602:623 -> a
-    26:29:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createSwitchBlock(int,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.code.IRMetadata):1482:1485 -> a
-    26:29:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):623 -> a
-    30:31:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):624:625 -> a
-    32:32:java.lang.Integer lambda$build$0(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,com.android.tools.r8.ir.code.BasicBlock):614:614 -> a
-    1:1:java.lang.Integer lambda$build$1(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,com.android.tools.r8.ir.code.BasicBlock):620:620 -> b
-com.android.tools.r8.ir.optimize.ConstantCanonicalizer -> com.android.tools.r8.ir.optimize.n:
-    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> a
-    int numberOfEffectivelyFinalFieldCanonicalization -> f
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfCanonicalizationCandidatesPerMethod -> g
-    int numberOfDexItemBasedConstStringCanonicalization -> d
-    boolean $assertionsDisabled -> h
-    int numberOfConstClassCanonicalization -> e
-    int numberOfConstNumberCanonicalization -> b
-    int numberOfConstStringCanonicalization -> c
+    1:1:void <init>(com.android.tools.r8.ir.code.Position):566:566 -> <init>
+    2:2:void <init>(com.android.tools.r8.ir.code.Position):562:562 -> <init>
+    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder setValue(com.android.tools.r8.ir.code.Value):575:575 -> a
+    2:2:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder addKeyAndTarget(int,com.android.tools.r8.ir.code.BasicBlock):580:580 -> a
+    3:3:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder setFallthrough(com.android.tools.r8.ir.code.BasicBlock):585:585 -> a
+    4:25:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):591:612 -> a
+    26:29:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createSwitchBlock(int,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.code.IRMetadata):1463:1466 -> a
+    26:29:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):612 -> a
+    30:31:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):613:614 -> a
+    32:32:java.lang.Integer lambda$build$0(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,com.android.tools.r8.ir.code.BasicBlock):603:603 -> a
+    1:1:java.lang.Integer lambda$build$1(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,com.android.tools.r8.ir.code.BasicBlock):609:609 -> b
+com.android.tools.r8.ir.optimize.ConstantCanonicalizer -> com.android.tools.r8.ir.optimize.m:
+    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> b
+    int numberOfConstClassCanonicalization -> f
+    int numberOfEffectivelyFinalFieldCanonicalization -> g
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfCanonicalizationCandidatesPerMethod -> h
+    int numberOfConstStringCanonicalization -> d
+    int numberOfDexItemBasedConstStringCanonicalization -> e
+    boolean $assertionsDisabled -> a
+    int numberOfConstNumberCanonicalization -> c
     1:1:void <clinit>():43:43 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.CodeRewriter):56:56 -> <init>
     2:14:void <init>(com.android.tools.r8.ir.optimize.CodeRewriter):49:61 -> <init>
@@ -35640,28 +35666,28 @@
     75:76:boolean constantUsedByInvokeRange(com.android.tools.r8.ir.code.Instruction):283:284 -> a
     75:76:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):169 -> a
     77:136:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):172:231 -> a
-    137:185:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.ConstString.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstString):0:48 -> a
-    137:185:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):231 -> a
-    186:186:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):248:248 -> a
-    187:210:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):222:245 -> a
-    211:216:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):234:239 -> a
-    217:270:com.android.tools.r8.ir.code.DexItemBasedConstString com.android.tools.r8.ir.code.DexItemBasedConstString.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.DexItemBasedConstString):0:53 -> a
-    217:270:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):238 -> a
-    271:274:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):216:219 -> a
-    275:323:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.ConstClass.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstClass):0:48 -> a
-    275:323:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):219 -> a
-    324:324:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):250:250 -> a
-    325:336:void insertCanonicalizedConstant(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):268:279 -> a
-    325:336:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):251 -> a
-    337:340:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):252:255 -> a
-    341:342:boolean com.android.tools.r8.ir.code.Value.hasUserThatMatches(java.util.function.Predicate):514:515 -> a
-    341:342:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):255 -> a
-    343:351:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):256:264 -> a
-    352:352:java.util.List lambda$canonicalize$1(com.android.tools.r8.ir.code.Instruction):173:173 -> a
-    353:353:boolean lambda$canonicalize$2(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):190:190 -> a
-    354:354:int lambda$canonicalize$4(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):200:200 -> a
+    137:187:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.ConstString.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstString):0:50 -> a
+    137:187:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):231 -> a
+    188:188:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):248:248 -> a
+    189:212:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):222:245 -> a
+    213:218:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):234:239 -> a
+    219:273:com.android.tools.r8.ir.code.DexItemBasedConstString com.android.tools.r8.ir.code.DexItemBasedConstString.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.DexItemBasedConstString):0:54 -> a
+    219:273:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):238 -> a
+    274:277:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):216:219 -> a
+    278:326:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.ConstClass.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstClass):0:48 -> a
+    278:326:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):219 -> a
+    327:327:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):250:250 -> a
+    328:339:void insertCanonicalizedConstant(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):268:279 -> a
+    328:339:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):251 -> a
+    340:343:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):252:255 -> a
+    344:345:boolean com.android.tools.r8.ir.code.Value.hasUserThatMatches(java.util.function.Predicate):419:420 -> a
+    344:345:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):255 -> a
+    346:354:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):256:264 -> a
+    355:355:java.util.List lambda$canonicalize$1(com.android.tools.r8.ir.code.Instruction):173:173 -> a
+    356:356:boolean lambda$canonicalize$2(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):190:190 -> a
+    357:357:int lambda$canonicalize$4(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):200:200 -> a
     1:1:boolean lambda$canonicalize$3(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):199:199 -> b
-com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1 -> com.android.tools.r8.ir.optimize.m:
+com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1 -> com.android.tools.r8.ir.optimize.l:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():92:92 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.ConstantCanonicalizer):92:92 -> <init>
@@ -35677,163 +35703,184 @@
     29:29:int hashCode(java.lang.Object):92 -> a
     30:30:int hashCode(com.android.tools.r8.ir.code.Instruction):99:99 -> a
     30:30:int hashCode(java.lang.Object):92 -> a
-com.android.tools.r8.ir.optimize.DeadCodeRemover -> com.android.tools.r8.ir.optimize.o:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> b
-    boolean $assertionsDisabled -> c
-    1:1:void <clinit>():28:28 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter):33:35 -> <init>
-    1:12:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):39:50 -> a
-    13:26:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):116:129 -> a
-    13:26:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):51 -> a
-    27:31:void updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):93:97 -> a
-    27:31:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):132 -> a
-    27:31:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):51 -> a
-    32:34:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):136:138 -> a
-    32:34:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):51 -> a
-    35:42:void removeDeadPhis(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):102:109 -> a
-    35:42:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):52 -> a
-    43:46:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):54:57 -> a
-    47:53:void updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Value):81:87 -> a
-    54:57:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):144:147 -> a
-    58:83:java.util.Collection getDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):176:201 -> a
-    58:83:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):148 -> a
-    84:84:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    84:84:java.util.Collection getDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):201 -> a
-    84:84:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):148 -> a
-    85:92:java.util.Collection getDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):201:208 -> a
-    85:92:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):148 -> a
-    93:112:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):149:168 -> a
-    1:9:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):61:69 -> b
-    10:15:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):67:72 -> b
-    16:16:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):71:71 -> b
-com.android.tools.r8.ir.optimize.DefaultInliningOracle -> com.android.tools.r8.ir.optimize.p:
-    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> d
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.optimize.Inliner inliner -> b
-    int inliningInstructionLimit -> f
-    int instructionAllowance -> g
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.graph.ProgramMethod method -> c
-    com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy reasonStrategy -> e
+com.android.tools.r8.ir.optimize.DeadCodeRemover -> com.android.tools.r8.ir.optimize.q:
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> c
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():30:30 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter):35:37 -> <init>
+    1:12:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):41:52 -> a
+    13:37:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):118:142 -> a
+    13:37:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):53 -> a
+    38:42:void updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):95:99 -> a
+    38:42:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):145 -> a
+    38:42:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):53 -> a
+    43:45:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):149:151 -> a
+    43:45:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):53 -> a
+    46:53:void removeDeadPhis(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):104:111 -> a
+    46:53:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):54 -> a
+    54:57:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):56:59 -> a
+    58:64:void updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Value):83:89 -> a
+    65:68:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):157:160 -> a
+    69:94:java.util.Collection getDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):189:214 -> a
+    69:94:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):161 -> a
+    95:95:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    95:95:java.util.Collection getDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):214 -> a
+    95:95:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):161 -> a
+    96:103:java.util.Collection getDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):214:221 -> a
+    96:103:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):161 -> a
+    104:123:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):162:181 -> a
+    1:9:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):63:71 -> b
+    10:15:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):69:74 -> b
+    16:16:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):73:73 -> b
+com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult -> com.android.tools.r8.ir.optimize.q$a:
+    com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult DEFINITELY_DEAD_INSTANCE -> a
+    com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult DEFINITELY_NOT_DEAD_INSTANCE -> b
+    1:9:void <clinit>():226:234 -> <clinit>
+    1:1:void <init>():224:224 -> <init>
+    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult deadIfOutValueIsDead():243:243 -> a
+    2:2:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult deadIfInValueIsDead(com.android.tools.r8.ir.code.Value):251:251 -> a
+    1:1:java.lang.Iterable getValuesRequiredToBeDead():277:277 -> b
+    boolean isDeadIfOutValueIsDead() -> c
+    boolean isMaybeDead() -> d
+    boolean isNotDead() -> e
+    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult notDead():247:247 -> f
+com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$1 -> com.android.tools.r8.ir.optimize.n:
+    1:1:void <init>():227:227 -> <init>
+    boolean isDeadIfOutValueIsDead() -> c
+com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$2 -> com.android.tools.r8.ir.optimize.o:
+    1:1:void <init>():235:235 -> <init>
+    boolean isNotDead() -> e
+com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$3 -> com.android.tools.r8.ir.optimize.p:
+    com.android.tools.r8.ir.code.Value val$inValueRequiredToBeDead -> c
+    1:1:void <init>(com.android.tools.r8.ir.code.Value):251:251 -> <init>
+    1:1:java.lang.Iterable getValuesRequiredToBeDead():259:259 -> b
+    2:2:java.util.Iterator lambda$getValuesRequiredToBeDead$0(com.android.tools.r8.ir.code.Value):259:259 -> b
+    boolean isMaybeDead() -> d
+com.android.tools.r8.ir.optimize.DefaultInliningOracle -> com.android.tools.r8.ir.optimize.r:
+    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> e
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.optimize.Inliner inliner -> c
+    int instructionAllowance -> h
+    int inliningInstructionLimit -> g
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy reasonStrategy -> f
+    com.android.tools.r8.graph.ProgramMethod method -> d
     1:1:void <clinit>():49:49 -> <clinit>
     1:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,int):66:73 -> <init>
     com.android.tools.r8.graph.DexType getReceiverTypeIfKnown(com.android.tools.r8.ir.code.InvokeMethod) -> a
     boolean isForcedInliningOracle() -> a
     1:18:boolean isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):90:107 -> a
     1:18:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):264 -> a
-    19:39:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):268:288 -> a
-    40:42:boolean isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):91:93 -> a
-    40:42:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):264 -> a
-    43:52:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):121:130 -> a
-    53:53:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    53:53:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):130 -> a
-    54:81:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):130:157 -> a
-    82:85:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):156:159 -> a
-    86:86:boolean com.android.tools.r8.features.FeatureSplitConfiguration.isInBase(com.android.tools.r8.graph.DexProgramClass):120:120 -> a
-    86:86:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):159 -> a
-    87:99:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):160:172 -> a
-    100:167:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.ResolutionResult.isAccessibleFrom(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):0:67 -> a
-    100:167:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):172 -> a
-    168:203:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):172:207 -> a
-    204:204:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):206:206 -> a
-    205:209:boolean inlineeRefersToClassesNotInMainDex(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):212:216 -> a
-    210:210:boolean inlineeRefersToClassesNotInMainDex(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):215:215 -> a
-    211:211:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):253:253 -> a
-    212:235:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeWithReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):297:320 -> a
-    236:245:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):332:341 -> a
-    246:257:boolean isTargetClassInitialized(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis):357:368 -> a
-    258:267:boolean isTargetClassInitialized(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis):365:374 -> a
-    268:283:boolean isTargetClassInitialized(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis):373:388 -> a
-    284:284:java.lang.Boolean lambda$isTargetClassInitialized$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods):367:367 -> a
-    285:287:void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):398:400 -> a
-    288:288:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
-    288:288:void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):400 -> a
-    289:289:void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):402:402 -> a
-    290:290:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):865:865 -> a
-    290:290:void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):402 -> a
-    291:291:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):859:859 -> a
-    291:291:void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):402 -> a
-    292:303:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):411:422 -> a
-    304:396:boolean canInlineInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):438:530 -> a
-    397:402:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):537:542 -> a
-    403:403:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):554:554 -> a
-    404:406:boolean willExceedInstructionBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):565:567 -> a
-    404:406:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):557 -> a
-    407:407:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):558:558 -> a
-    408:424:boolean willExceedControlFlowResolutionBlocksBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):652:668 -> a
-    408:424:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):559 -> a
-    425:457:boolean willExceedMonitorEnterValuesBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):587:619 -> a
-    458:458:void markInlined(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason):678:678 -> a
+    19:40:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):268:289 -> a
+    41:43:boolean isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):91:93 -> a
+    41:43:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):264 -> a
+    44:53:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):121:130 -> a
+    54:54:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    54:54:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):130 -> a
+    55:82:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):130:157 -> a
+    83:86:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):156:159 -> a
+    87:87:boolean com.android.tools.r8.features.FeatureSplitConfiguration.isInBase(com.android.tools.r8.graph.DexProgramClass):120:120 -> a
+    87:87:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):159 -> a
+    88:100:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):160:172 -> a
+    101:168:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.ResolutionResult.isAccessibleFrom(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):0:67 -> a
+    101:168:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):172 -> a
+    169:204:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):172:207 -> a
+    205:205:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):206:206 -> a
+    206:210:boolean inlineeRefersToClassesNotInMainDex(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):212:216 -> a
+    211:211:boolean inlineeRefersToClassesNotInMainDex(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):215:215 -> a
+    212:212:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):253:253 -> a
+    213:236:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeWithReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):298:321 -> a
+    237:246:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):333:342 -> a
+    247:258:boolean isTargetClassInitialized(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis):358:369 -> a
+    259:268:boolean isTargetClassInitialized(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis):366:375 -> a
+    269:284:boolean isTargetClassInitialized(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis):374:389 -> a
+    285:285:java.lang.Boolean lambda$isTargetClassInitialized$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods):368:368 -> a
+    286:288:void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):399:401 -> a
+    289:289:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
+    289:289:void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):401 -> a
+    290:290:void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):403:403 -> a
+    291:291:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):876:876 -> a
+    291:291:void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):403 -> a
+    292:292:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):870:870 -> a
+    292:292:void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):403 -> a
+    293:304:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):412:423 -> a
+    305:397:boolean canInlineInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):439:531 -> a
+    398:403:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):538:543 -> a
+    404:404:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):555:555 -> a
+    405:407:boolean willExceedInstructionBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):566:568 -> a
+    405:407:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):558 -> a
+    408:408:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):559:559 -> a
+    409:425:boolean willExceedControlFlowResolutionBlocksBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):653:669 -> a
+    409:425:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):560 -> a
+    426:458:boolean willExceedMonitorEnterValuesBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):588:620 -> a
+    459:459:void markInlined(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason):679:679 -> a
     1:1:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):222:222 -> b
     2:13:int computeInstructionLimit(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):231:242 -> b
     2:13:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):223 -> b
     14:14:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):224:224 -> b
-com.android.tools.r8.ir.optimize.Devirtualizer -> com.android.tools.r8.ir.optimize.q:
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> b
+com.android.tools.r8.ir.optimize.Devirtualizer -> com.android.tools.r8.ir.optimize.s:
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():46:46 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.AppView):50:51 -> <init>
-    1:4:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):55:58 -> a
-    5:5:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
-    5:5:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):58 -> a
-    6:32:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):59:85 -> a
-    33:33:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Assume.getAliasForOutValue():177:177 -> a
-    33:33:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):85 -> a
-    34:60:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):86:112 -> a
-    61:81:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):111:131 -> a
-    82:90:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):127:135 -> a
-    91:103:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):134:146 -> a
-    104:107:com.android.tools.r8.graph.DexMethod rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):287:290 -> a
-    104:107:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):146 -> a
-    108:108:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
-    108:108:com.android.tools.r8.graph.DexMethod rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):290 -> a
-    108:108:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):146 -> a
-    109:128:com.android.tools.r8.graph.DexMethod rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):292:311 -> a
-    109:128:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):146 -> a
-    129:129:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    129:129:com.android.tools.r8.graph.DexMethod rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):311 -> a
-    129:129:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):146 -> a
-    130:136:com.android.tools.r8.graph.DexMethod rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):313:319 -> a
-    130:136:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):146 -> a
-    137:139:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):148:148 -> a
-    145:154:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):154:163 -> a
-    155:155:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    155:155:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):163 -> a
-    156:203:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):165:212 -> a
-    204:204:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    204:204:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):219 -> a
-    205:227:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):221:243 -> a
-    228:228:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
-    228:228:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):243 -> a
-    229:244:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):245:260 -> a
-    245:256:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):259:270 -> a
-    257:257:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    257:257:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):270 -> a
-    258:260:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):270:272 -> a
-    261:261:boolean canInvokeTargetWithInvokeVirtual(com.android.tools.r8.graph.DexEncodedMethod):323:323 -> a
-    262:268:boolean hasAccessToInvokeTargetFromContext(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):328:334 -> a
-    269:269:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    269:269:boolean hasAccessToInvokeTargetFromContext(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):334 -> a
-    270:276:boolean hasAccessToInvokeTargetFromContext(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):339:345 -> a
-com.android.tools.r8.ir.optimize.DynamicTypeOptimization -> com.android.tools.r8.ir.optimize.r:
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> b
-    1:1:void <clinit>():36:36 -> <clinit>
-    1:2:void <init>(com.android.tools.r8.graph.AppView):40:41 -> <init>
-    1:4:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):55:58 -> a
-    5:90:void insertAssumeDynamicTypeInstructionsInBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock):69:154 -> a
-    5:90:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):59 -> a
-    91:96:void insertAssumeDynamicTypeInstructionsInBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock):153:158 -> a
-    91:96:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):59 -> a
-    97:97:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):62:62 -> a
-    98:112:com.android.tools.r8.ir.analysis.type.ClassTypeElement computeDynamicLowerBoundType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):182:196 -> a
-    1:10:com.android.tools.r8.ir.analysis.type.TypeElement computeDynamicReturnType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):169:178 -> b
-com.android.tools.r8.ir.optimize.ForcedInliningOracle -> com.android.tools.r8.ir.optimize.s:
-    java.util.Map invokesToInline -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.graph.ProgramMethod method -> b
-    boolean $assertionsDisabled -> d
+    1:5:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):55:59 -> a
+    6:6:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
+    6:6:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):59 -> a
+    7:33:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):60:86 -> a
+    34:34:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Assume.getAliasForOutValue():168:168 -> a
+    34:34:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):86 -> a
+    35:61:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):87:113 -> a
+    62:82:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):112:132 -> a
+    83:91:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):128:136 -> a
+    92:104:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):135:147 -> a
+    105:108:com.android.tools.r8.graph.DexMethod rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):290:293 -> a
+    105:108:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):147 -> a
+    109:109:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
+    109:109:com.android.tools.r8.graph.DexMethod rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):293 -> a
+    109:109:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):147 -> a
+    110:129:com.android.tools.r8.graph.DexMethod rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):295:314 -> a
+    110:129:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):147 -> a
+    130:130:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    130:130:com.android.tools.r8.graph.DexMethod rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):314 -> a
+    130:130:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):147 -> a
+    131:137:com.android.tools.r8.graph.DexMethod rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):316:322 -> a
+    131:137:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):147 -> a
+    138:140:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):149:149 -> a
+    146:155:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):155:164 -> a
+    156:156:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    156:156:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):164 -> a
+    157:204:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):166:213 -> a
+    205:205:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    205:205:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):220 -> a
+    206:228:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):222:244 -> a
+    229:229:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
+    229:229:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):244 -> a
+    230:245:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):246:261 -> a
+    246:250:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):260:264 -> a
+    251:251:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():90:90 -> a
+    251:251:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):270 -> a
+    252:254:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):271:273 -> a
+    255:255:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    255:255:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):273 -> a
+    256:258:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):273:275 -> a
+    259:259:boolean canInvokeTargetWithInvokeVirtual(com.android.tools.r8.graph.DexEncodedMethod):326:326 -> a
+    260:266:boolean hasAccessToInvokeTargetFromContext(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):331:337 -> a
+    267:267:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    267:267:boolean hasAccessToInvokeTargetFromContext(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):337 -> a
+    268:274:boolean hasAccessToInvokeTargetFromContext(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):342:348 -> a
+com.android.tools.r8.ir.optimize.DynamicTypeOptimization -> com.android.tools.r8.ir.optimize.t:
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():19:19 -> <clinit>
+    1:2:void <init>(com.android.tools.r8.graph.AppView):23:24 -> <init>
+    1:15:com.android.tools.r8.ir.analysis.type.ClassTypeElement computeDynamicLowerBoundType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):46:60 -> a
+    1:10:com.android.tools.r8.ir.analysis.type.TypeElement computeDynamicReturnType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):33:42 -> b
+com.android.tools.r8.ir.optimize.ForcedInliningOracle -> com.android.tools.r8.ir.optimize.u:
+    java.util.Map invokesToInline -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.ProgramMethod method -> c
     1:1:void <clinit>():23:23 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.Map):32:35 -> <init>
     boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
@@ -35848,13 +35895,13 @@
     6:18:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):77:89 -> a
     6:18:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):70 -> a
     19:22:com.android.tools.r8.graph.DexType getReceiverTypeIfKnown(com.android.tools.r8.ir.code.InvokeMethod):135:138 -> a
-com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer -> com.android.tools.r8.ir.optimize.u:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfCanonicalizationCandidatesPerMethod -> e
-    boolean $assertionsDisabled -> f
-    int numberOfProgramCallCanonicalization -> d
-    int numberOfLibraryCallCanonicalization -> c
+com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer -> com.android.tools.r8.ir.optimize.w:
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfCanonicalizationCandidatesPerMethod -> f
+    int numberOfLibraryCallCanonicalization -> d
+    int numberOfProgramCallCanonicalization -> e
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():54:54 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):66:66 -> <init>
     2:12:void <init>(com.android.tools.r8.graph.AppView):62:72 -> <init>
@@ -35890,7 +35937,7 @@
     217:239:void insertCanonicalizedInvokeWithInValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Invoke):285:307 -> a
     240:240:boolean lambda$insertCanonicalizedInvokeWithInValues$6(com.android.tools.r8.ir.code.Instruction):302:302 -> a
     1:1:boolean lambda$canonicalize$3(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):210:210 -> b
-com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1 -> com.android.tools.r8.ir.optimize.t:
+com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1 -> com.android.tools.r8.ir.optimize.v:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():97:97 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer):97:97 -> <init>
@@ -35900,205 +35947,208 @@
     7:7:int hashCode(java.lang.Object):97:97 -> a
     8:8:int hashCode(com.android.tools.r8.ir.code.InvokeMethod):100:100 -> a
     8:8:int hashCode(java.lang.Object):97 -> a
-com.android.tools.r8.ir.optimize.Inliner -> com.android.tools.r8.ir.optimize.v:
-    com.android.tools.r8.shaking.MainDexClasses mainDexClasses -> e
-    com.android.tools.r8.ir.optimize.lambda.LambdaMerger lambdaMerger -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.androidapi.AvailableApiExceptions availableApiExceptions -> j
-    boolean $assertionsDisabled -> k
-    com.android.tools.r8.ir.conversion.LensCodeRewriter lensCodeRewriter -> d
-    com.android.tools.r8.utils.collections.ProgramMethodSet doubleInlineSelectedTargets -> h
-    java.util.Map doubleInlineeCandidates -> i
-    boolean applyDoubleInlining -> f
-    com.android.tools.r8.utils.collections.ProgramMethodSet doubleInlineCallers -> g
-    java.util.Set blacklist -> b
+com.android.tools.r8.ir.optimize.Inliner -> com.android.tools.r8.ir.optimize.x:
+    com.android.tools.r8.shaking.MainDexClasses mainDexClasses -> f
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set blacklist -> c
+    com.android.tools.r8.androidapi.AvailableApiExceptions availableApiExceptions -> k
+    com.android.tools.r8.ir.conversion.LensCodeRewriter lensCodeRewriter -> e
+    com.android.tools.r8.utils.collections.ProgramMethodSet doubleInlineCallers -> h
+    java.util.Map doubleInlineeCandidates -> j
+    boolean applyDoubleInlining -> g
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.optimize.lambda.LambdaMerger lambdaMerger -> d
+    com.android.tools.r8.utils.collections.ProgramMethodSet doubleInlineSelectedTargets -> i
     1:1:void <clinit>():83:83 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MainDexClasses,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):104:104 -> <init>
     2:27:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MainDexClasses,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):92:117 -> <init>
     boolean lambda$performInliningImpl$1(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
-    1:19:boolean isBlacklisted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):122:140 -> a
-    20:20:boolean isBlacklisted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):135:135 -> a
-    21:27:boolean returnsIntAsBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):188:194 -> a
-    28:28:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():981:981 -> a
-    28:28:boolean returnsIntAsBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):194 -> a
-    29:29:boolean isDoubleInlineSelectedTarget(com.android.tools.r8.graph.ProgramMethod):204:204 -> a
-    30:42:void recordDoubleInliningCandidate(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):220:232 -> a
-    43:44:com.android.tools.r8.utils.collections.ProgramMethodSet methodsToRevisit():238:239 -> a
-    45:51:void performForcedInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):842:848 -> a
-    52:52:void performForcedInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):843:843 -> a
-    53:59:void performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):875:881 -> a
-    60:60:com.android.tools.r8.ir.optimize.DefaultInliningOracle createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,int,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):917:917 -> a
-    60:60:void performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):877 -> a
-    61:64:void performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):883:886 -> a
-    65:67:com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy createDefaultInliningReasonStrategy(com.android.tools.r8.ir.conversion.MethodProcessor):891:893 -> a
-    68:68:com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy lambda$createDefaultInliningReasonStrategy$0(com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):894:894 -> a
-    69:69:com.android.tools.r8.ir.optimize.DefaultInliningOracle createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,int):908:908 -> a
-    70:70:com.android.tools.r8.ir.optimize.DefaultInliningOracle createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,int,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):917:917 -> a
-    70:70:com.android.tools.r8.ir.optimize.DefaultInliningOracle createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,int):903 -> a
-    71:129:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):935:993 -> a
-    130:175:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):992:1037 -> a
-    176:186:com.android.tools.r8.graph.DexType getDowncastTypeIfNeeded(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):1109:1119 -> a
-    176:186:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1043 -> a
-    187:200:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1037:1050 -> a
-    201:232:void postProcessInlineeBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.Timing):1132:1163 -> a
-    201:232:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1050 -> a
-    233:233:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1053:1053 -> a
-    234:234:boolean com.android.tools.r8.graph.DexEncodedMethod.isBridge():326:326 -> a
-    234:234:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1053 -> a
-    235:235:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1053:1053 -> a
-    236:236:boolean com.android.tools.r8.graph.DexEncodedMethod.isBridge():326:326 -> a
-    236:236:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1053 -> a
-    237:256:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1054:1073 -> a
-    257:259:java.lang.Object com.android.tools.r8.utils.IteratorUtils.previousUntil(java.util.ListIterator,java.util.function.Predicate):71:73 -> a
-    257:259:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1073 -> a
-    260:260:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1074:1074 -> a
-    261:261:java.lang.Object com.android.tools.r8.utils.IteratorUtils.previousUntil(java.util.ListIterator,java.util.function.Predicate):77:77 -> a
-    261:261:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1073 -> a
-    262:273:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1076:1087 -> a
-    274:280:boolean containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1091:1097 -> a
-    274:280:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):161 -> a
-    281:281:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    281:281:boolean containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1097 -> a
-    281:281:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):161 -> a
-    282:283:boolean containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1098:1099 -> a
-    282:283:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):161 -> a
-    284:296:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):162:174 -> a
-    297:299:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget instructionAllowedForInlining(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):153:155 -> a
-    297:299:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):176 -> a
-    300:300:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):182:182 -> a
-    301:303:void applyAssumerToInlinee(com.android.tools.r8.ir.optimize.Assumer,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set,com.android.tools.r8.utils.Timing):1174:1176 -> a
-    304:309:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set):1184:1189 -> a
-    310:310:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    310:310:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set):1189 -> a
-    311:313:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set):1189:1191 -> a
-    314:317:void rewindBlockIteratorToFirstInlineeBlock(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock):1197:1200 -> a
+    1:26:boolean isBlacklisted(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):125:150 -> a
+    27:27:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexEncodedMethod.getReference():254:254 -> a
+    27:27:boolean isBlacklisted(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):150 -> a
+    28:29:boolean isBlacklisted(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):150:151 -> a
+    30:30:boolean isBlacklisted(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):140:140 -> a
+    31:37:boolean returnsIntAsBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):199:205 -> a
+    38:38:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():869:869 -> a
+    38:38:boolean returnsIntAsBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):205 -> a
+    39:39:boolean isDoubleInlineSelectedTarget(com.android.tools.r8.graph.ProgramMethod):215:215 -> a
+    40:52:void recordDoubleInliningCandidate(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):231:243 -> a
+    53:54:com.android.tools.r8.utils.collections.ProgramMethodSet methodsToRevisit():249:250 -> a
+    55:61:void performForcedInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):853:859 -> a
+    62:62:void performForcedInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):854:854 -> a
+    63:69:void performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):886:892 -> a
+    70:70:com.android.tools.r8.ir.optimize.DefaultInliningOracle createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,int,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):928:928 -> a
+    70:70:void performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):888 -> a
+    71:74:void performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):894:897 -> a
+    75:77:com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy createDefaultInliningReasonStrategy(com.android.tools.r8.ir.conversion.MethodProcessor):902:904 -> a
+    78:78:com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy lambda$createDefaultInliningReasonStrategy$0(com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):905:905 -> a
+    79:79:com.android.tools.r8.ir.optimize.DefaultInliningOracle createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,int):919:919 -> a
+    80:80:com.android.tools.r8.ir.optimize.DefaultInliningOracle createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,int,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):928:928 -> a
+    80:80:com.android.tools.r8.ir.optimize.DefaultInliningOracle createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,int):914 -> a
+    81:139:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):946:1004 -> a
+    140:185:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1003:1048 -> a
+    186:196:com.android.tools.r8.graph.DexType getDowncastTypeIfNeeded(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):1120:1130 -> a
+    186:196:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1054 -> a
+    197:210:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1048:1061 -> a
+    211:225:void postProcessInlineeBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.Timing):1143:1157 -> a
+    211:225:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1061 -> a
+    226:226:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1064:1064 -> a
+    227:227:boolean com.android.tools.r8.graph.DexEncodedMethod.isBridge():326:326 -> a
+    227:227:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1064 -> a
+    228:228:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1064:1064 -> a
+    229:229:boolean com.android.tools.r8.graph.DexEncodedMethod.isBridge():326:326 -> a
+    229:229:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1064 -> a
+    230:249:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1065:1084 -> a
+    250:252:java.lang.Object com.android.tools.r8.utils.IteratorUtils.previousUntil(java.util.ListIterator,java.util.function.Predicate):71:73 -> a
+    250:252:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1084 -> a
+    253:253:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1085:1085 -> a
+    254:254:java.lang.Object com.android.tools.r8.utils.IteratorUtils.previousUntil(java.util.ListIterator,java.util.function.Predicate):77:77 -> a
+    254:254:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1084 -> a
+    255:266:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.utils.Timing):1087:1098 -> a
+    267:273:boolean containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1102:1108 -> a
+    267:273:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):172 -> a
+    274:274:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    274:274:boolean containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1108 -> a
+    274:274:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):172 -> a
+    275:276:boolean containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1109:1110 -> a
+    275:276:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):172 -> a
+    277:289:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):173:185 -> a
+    290:292:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget instructionAllowedForInlining(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):164:166 -> a
+    290:292:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):187 -> a
+    293:293:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):193:193 -> a
+    294:297:void insertAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set,com.android.tools.r8.utils.Timing):1167:1170 -> a
+    298:303:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set):1178:1183 -> a
+    304:304:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    304:304:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set):1183 -> a
+    305:307:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set):1183:1185 -> a
+    308:311:void rewindBlockIteratorToFirstInlineeBlock(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock):1191:1194 -> a
     java.util.Collection codeOptimizationsForPostProcessing() -> b
-    1:7:boolean satisfiesRequirementsForDoubleInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):209:215 -> b
-    8:32:int numberOfInstructions(com.android.tools.r8.ir.code.IRCode):792:816 -> b
-    1:1:boolean isDoubleInliningEnabled():148:148 -> c
-com.android.tools.r8.ir.optimize.Inliner$Constraint -> com.android.tools.r8.ir.optimize.v$a:
-    com.android.tools.r8.ir.optimize.Inliner$Constraint PACKAGE -> e
-    com.android.tools.r8.ir.optimize.Inliner$Constraint SAMENEST -> d
-    com.android.tools.r8.ir.optimize.Inliner$Constraint[] $VALUES -> h
-    com.android.tools.r8.ir.optimize.Inliner$Constraint SAMECLASS -> c
-    com.android.tools.r8.ir.optimize.Inliner$Constraint NEVER -> b
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.ir.optimize.Inliner$Constraint ALWAYS -> g
-    com.android.tools.r8.ir.optimize.Inliner$Constraint SUBCLASS -> f
-    int value -> a
-    1:18:void <clinit>():255:255 -> <clinit>
-    1:2:void <init>(java.lang.String,int,int):275:276 -> <init>
-    1:1:boolean isSet(int):288:288 -> b
-com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget -> com.android.tools.r8.ir.optimize.v$b:
-    com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget ALWAYS -> d
-    com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget NEVER -> c
-    com.android.tools.r8.ir.optimize.Inliner$Constraint constraint -> a
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.DexType targetHolder -> b
-    1:9:void <clinit>():306:314 -> <clinit>
-    1:4:void <init>(com.android.tools.r8.ir.optimize.Inliner$Constraint):316:319 -> <init>
-    5:9:void <init>(com.android.tools.r8.ir.optimize.Inliner$Constraint,com.android.tools.r8.graph.DexType):322:326 -> <init>
-    1:24:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget deriveConstraint(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AccessFlags,com.android.tools.r8.graph.AppView):349:372 -> a
-    25:30:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget classIsVisible(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):378:383 -> a
-    31:31:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    31:31:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget classIsVisible(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):386 -> a
-    32:33:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget classIsVisible(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):388:389 -> a
-    34:84:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):394:444 -> a
-    85:85:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):521:521 -> a
-    85:85:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):444 -> a
-    86:86:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    86:86:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):522 -> a
-    86:86:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):444 -> a
-    87:92:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):523:528 -> a
-    87:92:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):444 -> a
-    93:93:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    93:93:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):528 -> a
-    93:93:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):444 -> a
-    94:96:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):529:531 -> a
-    94:96:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):444 -> a
-    97:104:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):445:452 -> a
-    105:105:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    105:105:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):498 -> a
-    105:105:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):452 -> a
-    106:113:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):500:507 -> a
-    106:113:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):452 -> a
-    114:114:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    114:114:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):507 -> a
-    114:114:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):452 -> a
-    115:119:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):509:513 -> a
-    115:119:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):452 -> a
-    120:153:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):456:489 -> a
-    1:5:boolean equals(java.lang.Object):339:343 -> equals
-    1:4:int hashCode():331:334 -> hashCode
-    5:5:int com.android.tools.r8.graph.DexType.computeHashCode():54:54 -> hashCode
-    5:5:int hashCode():334 -> hashCode
-com.android.tools.r8.ir.optimize.Inliner$InlineAction -> com.android.tools.r8.ir.optimize.v$c:
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.optimize.Inliner$Reason reason -> b
-    com.android.tools.r8.graph.ProgramMethod target -> a
-    boolean shouldSynthesizeInitClass -> c
-    boolean shouldSynthesizeNullCheckForReceiver -> d
-    1:1:void <clinit>():557:557 -> <clinit>
-    1:4:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.optimize.Inliner$Reason):566:569 -> <init>
-    1:2:void setShouldSynthesizeInitClass():573:574 -> a
-    3:11:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):589:597 -> a
-    12:23:void synthesizeInitClass(com.android.tools.r8.ir.code.IRCode):736:747 -> a
-    12:23:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):598 -> a
-    24:24:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    24:24:void synthesizeInitClass(com.android.tools.r8.ir.code.IRCode):747 -> a
-    24:24:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):598 -> a
-    25:25:void synthesizeInitClass(com.android.tools.r8.ir.code.IRCode):747:747 -> a
-    25:25:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):598 -> a
-    26:27:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):608:609 -> a
-    28:28:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    28:28:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):609 -> a
-    29:31:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):610:612 -> a
-    32:55:void synthesizeNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):751:774 -> a
-    32:55:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):614 -> a
-    56:58:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):619:621 -> a
-    59:83:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):620:644 -> a
-    84:89:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):643:648 -> a
-    90:90:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    90:90:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):650 -> a
-    91:91:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):650:650 -> a
-    92:101:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):648:657 -> a
+    1:7:boolean satisfiesRequirementsForDoubleInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):220:226 -> b
+    8:32:int numberOfInstructions(com.android.tools.r8.ir.code.IRCode):803:827 -> b
+    1:1:boolean isDoubleInliningEnabled():159:159 -> c
+com.android.tools.r8.ir.optimize.Inliner$Constraint -> com.android.tools.r8.ir.optimize.x$a:
+    com.android.tools.r8.ir.optimize.Inliner$Constraint SUBCLASS -> e
+    com.android.tools.r8.ir.optimize.Inliner$Constraint PACKAGE -> d
+    com.android.tools.r8.ir.optimize.Inliner$Constraint SAMENEST -> c
+    com.android.tools.r8.ir.optimize.Inliner$Constraint SAMECLASS -> b
+    com.android.tools.r8.ir.optimize.Inliner$Constraint NEVER -> a
+    int value -> i
+    boolean $assertionsDisabled -> h
+    com.android.tools.r8.ir.optimize.Inliner$Constraint[] $VALUES -> g
+    com.android.tools.r8.ir.optimize.Inliner$Constraint ALWAYS -> f
+    1:18:void <clinit>():266:266 -> <clinit>
+    1:2:void <init>(java.lang.String,int,int):286:287 -> <init>
+    1:1:boolean isSet(int):299:299 -> b
+com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget -> com.android.tools.r8.ir.optimize.x$b:
+    com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget ALWAYS -> b
+    com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget NEVER -> a
+    com.android.tools.r8.ir.optimize.Inliner$Constraint constraint -> d
+    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.DexType targetHolder -> e
+    1:9:void <clinit>():317:325 -> <clinit>
+    1:4:void <init>(com.android.tools.r8.ir.optimize.Inliner$Constraint):327:330 -> <init>
+    5:9:void <init>(com.android.tools.r8.ir.optimize.Inliner$Constraint,com.android.tools.r8.graph.DexType):333:337 -> <init>
+    1:24:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget deriveConstraint(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AccessFlags,com.android.tools.r8.graph.AppView):360:383 -> a
+    25:30:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget classIsVisible(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):389:394 -> a
+    31:31:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    31:31:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget classIsVisible(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):397 -> a
+    32:33:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget classIsVisible(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):399:400 -> a
+    34:84:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):405:455 -> a
+    85:85:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):532:532 -> a
+    85:85:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):455 -> a
+    86:86:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    86:86:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):533 -> a
+    86:86:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):455 -> a
+    87:92:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):534:539 -> a
+    87:92:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):455 -> a
+    93:93:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    93:93:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):539 -> a
+    93:93:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):455 -> a
+    94:96:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):540:542 -> a
+    94:96:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):455 -> a
+    97:104:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):456:463 -> a
+    105:105:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    105:105:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):509 -> a
+    105:105:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):463 -> a
+    106:113:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):511:518 -> a
+    106:113:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):463 -> a
+    114:114:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    114:114:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):518 -> a
+    114:114:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):463 -> a
+    115:119:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):520:524 -> a
+    115:119:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):463 -> a
+    120:153:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):467:500 -> a
+    1:5:boolean equals(java.lang.Object):350:354 -> equals
+    1:4:int hashCode():342:345 -> hashCode
+    5:5:int com.android.tools.r8.graph.DexType.computeHashCode():55:55 -> hashCode
+    5:5:int hashCode():345 -> hashCode
+com.android.tools.r8.ir.optimize.Inliner$InlineAction -> com.android.tools.r8.ir.optimize.x$c:
+    com.android.tools.r8.ir.optimize.Inliner$Reason reason -> c
+    boolean shouldSynthesizeNullCheckForReceiver -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.ProgramMethod target -> b
+    boolean shouldSynthesizeInitClass -> d
+    1:1:void <clinit>():568:568 -> <clinit>
+    1:4:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.optimize.Inliner$Reason):577:580 -> <init>
+    1:2:void setShouldSynthesizeInitClass():584:585 -> a
+    3:11:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):600:608 -> a
+    12:23:void synthesizeInitClass(com.android.tools.r8.ir.code.IRCode):747:758 -> a
+    12:23:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):609 -> a
+    24:24:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    24:24:void synthesizeInitClass(com.android.tools.r8.ir.code.IRCode):758 -> a
+    24:24:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):609 -> a
+    25:25:void synthesizeInitClass(com.android.tools.r8.ir.code.IRCode):758:758 -> a
+    25:25:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):609 -> a
+    26:27:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):619:620 -> a
+    28:28:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    28:28:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):620 -> a
+    29:31:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):621:623 -> a
+    32:55:void synthesizeNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):762:785 -> a
+    32:55:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):625 -> a
+    56:58:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):630:632 -> a
+    59:83:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):631:655 -> a
+    84:89:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):654:659 -> a
+    90:90:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    90:90:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):661 -> a
+    91:91:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):661:661 -> a
+    92:101:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):659:668 -> a
     102:102:java.lang.Object com.android.tools.r8.utils.ListUtils.first(java.util.List):16:16 -> a
-    102:102:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):659 -> a
-    103:103:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):659:659 -> a
-    104:104:com.android.tools.r8.ir.code.Phi com.android.tools.r8.ir.code.IRCode.createPhi(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement):1137:1137 -> a
-    104:104:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):661 -> a
-    105:106:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):662:663 -> a
+    102:102:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):670 -> a
+    103:103:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):670:670 -> a
+    104:104:com.android.tools.r8.ir.code.Phi com.android.tools.r8.ir.code.IRCode.createPhi(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement):1141:1141 -> a
+    104:104:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):672 -> a
+    105:106:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):673:674 -> a
     107:107:void com.android.tools.r8.ir.code.Phi.addOperands(java.util.List):142:142 -> a
-    107:107:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):665 -> a
-    108:136:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):669:697 -> a
-    137:137:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    137:137:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):696 -> a
-    138:172:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):698:732 -> a
-    173:173:com.android.tools.r8.ir.code.Value lambda$buildInliningIR$0(com.android.tools.r8.ir.code.BasicBlock):664:664 -> a
-    1:2:void setShouldSynthesizeNullCheckForReceiver():578:579 -> b
-com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason -> com.android.tools.r8.ir.optimize.w:
+    107:107:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):676 -> a
+    108:136:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):680:708 -> a
+    137:137:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    137:137:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):707 -> a
+    138:172:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.conversion.LensCodeRewriter):709:743 -> a
+    173:173:com.android.tools.r8.ir.code.Value lambda$buildInliningIR$0(com.android.tools.r8.ir.code.BasicBlock):675:675 -> a
+    1:2:void setShouldSynthesizeNullCheckForReceiver():589:590 -> b
+com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason -> com.android.tools.r8.ir.optimize.y:
     com.android.tools.r8.ir.optimize.Inliner$Reason reason -> a
     com.android.tools.r8.ir.code.IRCode code -> b
-    1:3:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.Inliner$Reason):784:786 -> <init>
-com.android.tools.r8.ir.optimize.Inliner$InliningInfo -> com.android.tools.r8.ir.optimize.x:
+    1:3:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.Inliner$Reason):795:797 -> <init>
+com.android.tools.r8.ir.optimize.Inliner$InliningInfo -> com.android.tools.r8.ir.optimize.z:
     com.android.tools.r8.graph.DexType receiverType -> b
     com.android.tools.r8.graph.ProgramMethod target -> a
-    1:3:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):830:832 -> <init>
-com.android.tools.r8.ir.optimize.Inliner$Reason -> com.android.tools.r8.ir.optimize.v$d:
+    1:3:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):841:843 -> <init>
+com.android.tools.r8.ir.optimize.Inliner$Reason -> com.android.tools.r8.ir.optimize.x$d:
     com.android.tools.r8.ir.optimize.Inliner$Reason SIMPLE -> e
     com.android.tools.r8.ir.optimize.Inliner$Reason NEVER -> f
     com.android.tools.r8.ir.optimize.Inliner$Reason SINGLE_CALLER -> c
     com.android.tools.r8.ir.optimize.Inliner$Reason DUAL_CALLER -> d
     com.android.tools.r8.ir.optimize.Inliner$Reason FORCE -> a
     com.android.tools.r8.ir.optimize.Inliner$Reason ALWAYS -> b
-    1:6:void <clinit>():544:549 -> <clinit>
-    1:1:void <init>(java.lang.String,int):543:543 -> <init>
-    1:1:boolean mustBeInlined():553:553 -> a
-com.android.tools.r8.ir.optimize.InliningConstraints -> com.android.tools.r8.ir.optimize.y:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.graph.GraphLense graphLense -> c
-    boolean allowStaticInterfaceMethodCalls -> b
-    boolean $assertionsDisabled -> d
+    1:6:void <clinit>():555:560 -> <clinit>
+    1:1:void <init>(java.lang.String,int):554:554 -> <init>
+    1:1:boolean mustBeInlined():564:564 -> a
+com.android.tools.r8.ir.optimize.InliningConstraints -> com.android.tools.r8.ir.optimize.A:
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.graph.GraphLense graphLense -> d
+    boolean $assertionsDisabled -> a
+    boolean allowStaticInterfaceMethodCalls -> c
     1:1:void <clinit>():27:27 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):45:45 -> <init>
     2:20:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):31:49 -> <init>
@@ -36126,16 +36176,16 @@
     57:57:com.android.tools.r8.graph.DexEncodedMethod lambda$forInvokeDirect$0(com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexProgramClass):207:207 -> a
     58:58:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):243:243 -> a
     59:60:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass):332:333 -> a
-    61:61:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    61:61:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     61:61:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass):333 -> a
     62:74:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass):335:347 -> a
     75:88:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass):345:358 -> a
     89:94:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forSingleTargetInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):363:368 -> a
-    95:95:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    95:95:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     95:95:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forSingleTargetInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):368 -> a
     96:112:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forSingleTargetInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):370:386 -> a
     113:131:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,boolean):391:409 -> a
-    132:132:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    132:132:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     132:132:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,boolean):409 -> a
     133:145:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,boolean):410:422 -> a
     1:1:com.android.tools.r8.graph.AppView getAppView():53:53 -> b
@@ -36157,12 +36207,12 @@
     1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeNewArray(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):222:222 -> f
     1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forNewArrayEmpty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):272:272 -> g
     1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):280:280 -> h
-com.android.tools.r8.ir.optimize.InliningOracle -> com.android.tools.r8.ir.optimize.z:
+com.android.tools.r8.ir.optimize.InliningOracle -> com.android.tools.r8.ir.optimize.B:
     com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
     boolean isForcedInliningOracle() -> a
     com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod) -> a
     boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
-com.android.tools.r8.ir.optimize.InliningStrategy -> com.android.tools.r8.ir.optimize.A:
+com.android.tools.r8.ir.optimize.InliningStrategy -> com.android.tools.r8.ir.optimize.C:
     boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
     boolean canInlineInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
     void ensureMethodProcessed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback) -> a
@@ -36170,7 +36220,7 @@
     void markInlined(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason) -> a
     boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
     boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
-com.android.tools.r8.ir.optimize.InstructionEquivalence -> com.android.tools.r8.ir.optimize.B:
+com.android.tools.r8.ir.optimize.InstructionEquivalence -> com.android.tools.r8.ir.optimize.D:
     com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> a
     1:2:void <init>(com.android.tools.r8.ir.regalloc.RegisterAllocator):14:15 -> <init>
     1:2:boolean doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):20:21 -> a
@@ -36178,12 +36228,12 @@
     1:1:int doHash(java.lang.Object):11:11 -> doHash
     2:11:int doHash(com.android.tools.r8.ir.code.Instruction):27:36 -> doHash
     2:11:int doHash(java.lang.Object):11 -> doHash
-com.android.tools.r8.ir.optimize.MemberPoolCollection -> com.android.tools.r8.ir.optimize.C:
-    java.util.Map memberPools -> d
-    com.android.tools.r8.graph.AppView appView -> b
-    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> a
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> c
+com.android.tools.r8.ir.optimize.MemberPoolCollection -> com.android.tools.r8.ir.optimize.E:
+    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> d
+    boolean $assertionsDisabled -> a
+    java.util.Map memberPools -> e
     1:1:void <clinit>():32:32 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.base.Equivalence,com.android.tools.r8.graph.SubtypingInfo):42:42 -> <init>
     2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.base.Equivalence,com.android.tools.r8.graph.SubtypingInfo):37:45 -> <init>
@@ -36219,7 +36269,7 @@
     52:52:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):228:228 -> a
     52:52:java.util.Set getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):152 -> a
     53:53:void lambda$getAllSubTypesExclusive$1(java.util.Deque,com.android.tools.r8.graph.DexType):141:141 -> a
-    54:54:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    54:54:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     54:54:void lambda$getAllSubTypesExclusive$1(java.util.Deque,com.android.tools.r8.graph.DexType):141 -> a
     55:55:void addNonNull(java.util.Collection,java.lang.Object):231:231 -> a
     55:55:void lambda$getAllSubTypesExclusive$1(java.util.Deque,com.android.tools.r8.graph.DexType):141 -> a
@@ -36228,37 +36278,37 @@
     2:2:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool get(com.android.tools.r8.graph.DexClass):85 -> b
     3:4:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool get(com.android.tools.r8.graph.DexClass):85:86 -> b
     5:15:java.util.Set getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):116:126 -> b
-    16:16:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    16:16:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     16:16:java.util.Set getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):126 -> b
     17:17:void addNonNull(java.util.Collection,java.lang.Object):231:231 -> b
     17:17:java.util.Set getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):126 -> b
     18:19:java.util.Set getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):128:129 -> b
-    20:20:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    20:20:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     20:20:java.util.Set getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):129 -> b
     21:21:void addNonNull(java.util.Collection,java.lang.Object):231:231 -> b
     21:21:java.util.Set getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):129 -> b
     22:22:void lambda$getAllSubTypesExclusive$2(java.util.Deque,com.android.tools.r8.graph.DexType):143:143 -> b
-    23:23:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    23:23:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     23:23:void lambda$getAllSubTypesExclusive$2(java.util.Deque,com.android.tools.r8.graph.DexType):143 -> b
     24:24:void addNonNull(java.util.Collection,java.lang.Object):231:231 -> b
     24:24:void lambda$getAllSubTypesExclusive$2(java.util.Deque,com.android.tools.r8.graph.DexType):143 -> b
     1:1:void lambda$getAllSubTypesExclusive$3(java.util.Deque,com.android.tools.r8.graph.DexType):151:151 -> c
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> c
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> c
     2:2:void lambda$getAllSubTypesExclusive$3(java.util.Deque,com.android.tools.r8.graph.DexType):151 -> c
     3:3:void addNonNull(java.util.Collection,java.lang.Object):231:231 -> c
     3:3:void lambda$getAllSubTypesExclusive$3(java.util.Deque,com.android.tools.r8.graph.DexType):151 -> c
     1:1:void lambda$getAllSubTypesExclusive$4(java.util.Deque,com.android.tools.r8.graph.DexType):153:153 -> d
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> d
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> d
     2:2:void lambda$getAllSubTypesExclusive$4(java.util.Deque,com.android.tools.r8.graph.DexType):153 -> d
     3:3:void addNonNull(java.util.Collection,java.lang.Object):231:231 -> d
     3:3:void lambda$getAllSubTypesExclusive$4(java.util.Deque,com.android.tools.r8.graph.DexType):153 -> d
-com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool -> com.android.tools.r8.ir.optimize.C$a:
-    java.util.Set interfaces -> c
-    java.util.Set subTypes -> d
-    java.util.Set memberPool -> e
-    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> a
-    com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool superType -> b
-    boolean $assertionsDisabled -> f
+com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool -> com.android.tools.r8.ir.optimize.E$a:
+    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
+    java.util.Set interfaces -> d
+    java.util.Set subTypes -> e
+    java.util.Set memberPool -> f
+    com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool superType -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():159:159 -> <clinit>
     1:1:void <init>(com.android.tools.r8.com.google.common.base.Equivalence):167:167 -> <init>
     2:7:void <init>(com.android.tools.r8.com.google.common.base.Equivalence):163:168 -> <init>
@@ -36282,12 +36332,12 @@
     4:4:boolean lambda$hasSeenBelow$2(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool):225:225 -> c
     1:1:boolean hasSeenStrictlyBelow(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):216:216 -> d
     1:2:void seen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):191:192 -> e
-com.android.tools.r8.ir.optimize.MemberValuePropagation -> com.android.tools.r8.ir.optimize.F:
-    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> d
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set warnedFields -> c
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.utils.Reporter reporter -> b
+com.android.tools.r8.ir.optimize.MemberValuePropagation -> com.android.tools.r8.ir.optimize.H:
+    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> a
+    com.android.tools.r8.graph.AppView appView -> c
+    java.util.Set warnedFields -> e
+    com.android.tools.r8.utils.Reporter reporter -> d
+    boolean $assertionsDisabled -> b
     1:3:void <clinit>():52:54 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):93:93 -> <init>
     2:37:void <init>(com.android.tools.r8.graph.AppView):60:95 -> <init>
@@ -36304,85 +36354,85 @@
     55:57:boolean tryConstantReplacementFromProguard(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.MemberValuePropagation$ProguardMemberRuleLookup):198 -> a
     58:72:boolean tryConstantReplacementFromProguard(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.MemberValuePropagation$ProguardMemberRuleLookup):201:215 -> a
     73:80:boolean tryConstantReplacementFromProguard(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.MemberValuePropagation$ProguardMemberRuleLookup):214:221 -> a
-    81:88:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):330:337 -> a
-    89:92:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):336:339 -> a
+    81:88:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):323:330 -> a
+    89:92:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):329:332 -> a
     93:93:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    93:93:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):344 -> a
-    94:94:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):344:344 -> a
+    93:93:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):337 -> a
+    94:94:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):337:337 -> a
     95:99:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexEncodedField):99:103 -> a
-    95:99:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):348 -> a
-    100:112:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):353:365 -> a
-    113:113:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    113:113:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):365 -> a
-    114:117:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):367:370 -> a
-    118:118:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    118:118:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):373 -> a
-    119:123:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):375:379 -> a
-    124:156:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):377:409 -> a
-    157:168:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):408:419 -> a
-    169:169:java.lang.Boolean lambda$rewriteFieldGetWithConstantValues$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):337:337 -> a
-    170:192:void replaceInstructionByNullCheckIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):426:448 -> a
-    193:204:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):457:468 -> a
-    205:218:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):463:476 -> a
-    219:219:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    219:219:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):476 -> a
-    220:222:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):476:478 -> a
-    223:223:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    223:223:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):478 -> a
-    224:224:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):479:479 -> a
-    225:225:boolean lambda$replaceInstructionByInitClassIfPossible$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):467:467 -> a
-    226:233:void run(com.android.tools.r8.ir.code.IRCode):524:531 -> a
-    234:234:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    234:234:void run(com.android.tools.r8.ir.code.IRCode):531 -> a
-    235:237:void run(com.android.tools.r8.ir.code.IRCode):531:533 -> a
-    238:249:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):541:552 -> a
-    250:299:void rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):234:283 -> a
-    250:299:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):551 -> a
-    300:304:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexEncodedMethod):107:111 -> a
-    300:304:void rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):287 -> a
-    300:304:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):551 -> a
-    305:323:void rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):291:309 -> a
-    305:323:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):551 -> a
-    324:335:void rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):308:319 -> a
-    324:335:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):551 -> a
-    336:338:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):553:555 -> a
-    339:342:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):554:557 -> a
-    343:343:void replaceInstancePutByNullCheckIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstancePut):485:485 -> a
-    343:343:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):557 -> a
-    344:344:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    344:344:void replaceInstancePutByNullCheckIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstancePut):486 -> a
-    344:344:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):557 -> a
-    345:345:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexEncodedField.type():46:46 -> a
-    345:345:void replaceInstancePutByNullCheckIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstancePut):493 -> a
-    345:345:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):557 -> a
-    346:350:void replaceInstancePutByNullCheckIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstancePut):493:497 -> a
-    346:350:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):557 -> a
-    351:352:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):558:559 -> a
-    353:353:void replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):502:502 -> a
-    353:353:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):559 -> a
-    354:354:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    354:354:void replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):503 -> a
-    354:354:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):559 -> a
-    355:355:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexEncodedField.type():46:46 -> a
-    355:355:void replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):510 -> a
-    355:355:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):559 -> a
-    356:361:void replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):510:515 -> a
-    356:361:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):559 -> a
-    362:362:void replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):514:514 -> a
-    362:362:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):559 -> a
-com.android.tools.r8.ir.optimize.MemberValuePropagation$ProguardMemberRuleLookup -> com.android.tools.r8.ir.optimize.D:
+    95:99:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):341 -> a
+    100:110:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):346:356 -> a
+    111:111:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
+    111:111:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):356 -> a
+    112:115:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):358:361 -> a
+    116:116:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
+    116:116:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):364 -> a
+    117:121:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):366:370 -> a
+    122:154:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):368:400 -> a
+    155:166:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):399:410 -> a
+    167:167:java.lang.Boolean lambda$rewriteFieldGetWithConstantValues$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):330:330 -> a
+    168:190:void replaceInstructionByNullCheckIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):417:439 -> a
+    191:202:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):448:459 -> a
+    203:216:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):454:467 -> a
+    217:217:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    217:217:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):467 -> a
+    218:220:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):467:469 -> a
+    221:221:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    221:221:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):469 -> a
+    222:222:void replaceInstructionByInitClassIfPossible(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.ProgramMethod):470:470 -> a
+    223:223:boolean lambda$replaceInstructionByInitClassIfPossible$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):458:458 -> a
+    224:231:void run(com.android.tools.r8.ir.code.IRCode):515:522 -> a
+    232:232:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    232:232:void run(com.android.tools.r8.ir.code.IRCode):522 -> a
+    233:235:void run(com.android.tools.r8.ir.code.IRCode):522:524 -> a
+    236:247:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):532:543 -> a
+    248:286:void rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):234:272 -> a
+    248:286:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):542 -> a
+    287:291:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexEncodedMethod):107:111 -> a
+    287:291:void rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):279 -> a
+    287:291:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):542 -> a
+    292:311:void rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):283:302 -> a
+    292:311:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):542 -> a
+    312:323:void rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):301:312 -> a
+    312:323:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):542 -> a
+    324:326:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):544:546 -> a
+    327:330:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):545:548 -> a
+    331:331:void replaceInstancePutByNullCheckIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstancePut):476:476 -> a
+    331:331:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):548 -> a
+    332:332:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
+    332:332:void replaceInstancePutByNullCheckIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstancePut):477 -> a
+    332:332:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):548 -> a
+    333:333:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexEncodedField.type():46:46 -> a
+    333:333:void replaceInstancePutByNullCheckIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstancePut):484 -> a
+    333:333:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):548 -> a
+    334:338:void replaceInstancePutByNullCheckIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstancePut):484:488 -> a
+    334:338:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):548 -> a
+    339:340:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):549:550 -> a
+    341:341:void replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):493:493 -> a
+    341:341:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):550 -> a
+    342:342:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
+    342:342:void replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):494 -> a
+    342:342:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):550 -> a
+    343:343:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexEncodedField.type():46:46 -> a
+    343:343:void replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):501 -> a
+    343:343:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):550 -> a
+    344:349:void replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):501:506 -> a
+    344:349:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):550 -> a
+    350:350:void replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):505:505 -> a
+    350:350:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):550 -> a
+com.android.tools.r8.ir.optimize.MemberValuePropagation$ProguardMemberRuleLookup -> com.android.tools.r8.ir.optimize.F:
     com.android.tools.r8.shaking.ProguardMemberRule rule -> b
     com.android.tools.r8.ir.optimize.MemberValuePropagation$RuleType type -> a
     1:3:void <init>(com.android.tools.r8.ir.optimize.MemberValuePropagation$RuleType,com.android.tools.r8.shaking.ProguardMemberRule):73:75 -> <init>
     1:5:boolean equals(java.lang.Object):80:84 -> equals
     1:1:int hashCode():89:89 -> hashCode
-com.android.tools.r8.ir.optimize.MemberValuePropagation$RuleType -> com.android.tools.r8.ir.optimize.E:
+com.android.tools.r8.ir.optimize.MemberValuePropagation$RuleType -> com.android.tools.r8.ir.optimize.G:
     com.android.tools.r8.ir.optimize.MemberValuePropagation$RuleType ASSUME_VALUES -> c
     com.android.tools.r8.ir.optimize.MemberValuePropagation$RuleType NONE -> a
     com.android.tools.r8.ir.optimize.MemberValuePropagation$RuleType ASSUME_NO_SIDE_EFFECTS -> b
     1:3:void <clinit>():63:65 -> <clinit>
     1:1:void <init>(java.lang.String,int):62:62 -> <init>
-com.android.tools.r8.ir.optimize.MethodPoolCollection -> com.android.tools.r8.ir.optimize.G:
+com.android.tools.r8.ir.optimize.MethodPoolCollection -> com.android.tools.r8.ir.optimize.I:
     java.util.function.Predicate methodTester -> f
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):38:38 -> <init>
     2:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.util.function.Predicate):45:46 -> <init>
@@ -36393,13 +36443,13 @@
     1:1:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool lambda$computeMemberPoolForClass$2(com.android.tools.r8.graph.DexClass):68:68 -> d
     1:1:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool lambda$computeMemberPoolForClass$3(com.android.tools.r8.graph.DexClass):78:78 -> e
     1:10:void lambda$computeMemberPoolForClass$4(com.android.tools.r8.graph.DexClass):56:65 -> f
-    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> f
+    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> f
     11:11:void lambda$computeMemberPoolForClass$4(com.android.tools.r8.graph.DexClass):65 -> f
     12:20:void lambda$computeMemberPoolForClass$4(com.android.tools.r8.graph.DexClass):67:75 -> f
-    21:21:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> f
+    21:21:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> f
     21:21:void lambda$computeMemberPoolForClass$4(com.android.tools.r8.graph.DexClass):75 -> f
     22:25:void lambda$computeMemberPoolForClass$4(com.android.tools.r8.graph.DexClass):77:80 -> f
-com.android.tools.r8.ir.optimize.MoveEliminator -> com.android.tools.r8.ir.optimize.H:
+com.android.tools.r8.ir.optimize.MoveEliminator -> com.android.tools.r8.ir.optimize.J:
     com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> b
     java.util.Set activeMoves -> a
     1:1:void <init>(com.android.tools.r8.ir.regalloc.RegisterAllocator):17:17 -> <init>
@@ -36407,13 +36457,13 @@
     1:12:boolean shouldBeEliminated(com.android.tools.r8.ir.code.Instruction):22:33 -> a
     13:51:boolean shouldBeEliminated(com.android.tools.r8.ir.code.Instruction):32:70 -> a
     52:56:boolean lambda$shouldBeEliminated$0(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Move):55:59 -> a
-com.android.tools.r8.ir.optimize.NestReducer -> com.android.tools.r8.ir.optimize.I:
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> b
+com.android.tools.r8.ir.optimize.NestReducer -> com.android.tools.r8.ir.optimize.K:
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():29:29 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.AppView):33:34 -> <init>
     1:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):38:39 -> a
-    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     3:3:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):39 -> a
     4:15:void run(java.util.concurrent.ExecutorService):43:54 -> a
     16:24:void run(java.util.concurrent.ExecutorService):53:61 -> a
@@ -36437,7 +36487,7 @@
     51:54:void clearNestAttributes(com.android.tools.r8.graph.DexClass):114:117 -> a
     51:54:void processNestFrom(com.android.tools.r8.graph.DexClass):88 -> a
     51:54:java.lang.Object lambda$run$0(com.android.tools.r8.graph.DexProgramClass):56 -> a
-    55:55:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    55:55:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     55:55:void clearNestAttributes(com.android.tools.r8.graph.DexClass):117 -> a
     55:55:void processNestFrom(com.android.tools.r8.graph.DexClass):88 -> a
     55:55:java.lang.Object lambda$run$0(com.android.tools.r8.graph.DexProgramClass):56 -> a
@@ -36445,16 +36495,16 @@
     56:56:void processNestFrom(com.android.tools.r8.graph.DexClass):88 -> a
     56:56:java.lang.Object lambda$run$0(com.android.tools.r8.graph.DexProgramClass):56 -> a
     57:63:boolean hasPrivateMembers(com.android.tools.r8.graph.DexClass):123:129 -> a
-com.android.tools.r8.ir.optimize.NestUtils -> com.android.tools.r8.ir.optimize.J:
+com.android.tools.r8.ir.optimize.NestUtils -> com.android.tools.r8.ir.optimize.L:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():21:21 -> <clinit>
     1:14:boolean sameNest(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):27:40 -> a
-    15:15:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
+    15:15:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
     15:15:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):46 -> a
-    16:16:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    16:16:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     16:16:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):47 -> a
     17:23:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):48:54 -> a
-    24:24:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    24:24:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     24:24:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):55 -> a
     25:31:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):56:62 -> a
     32:32:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
@@ -36463,19 +36513,19 @@
     35:35:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
     35:35:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):64 -> a
     36:39:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):68:71 -> a
-    40:40:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    40:40:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     40:40:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):72 -> a
     41:47:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):73:79 -> a
     48:48:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
     48:48:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):77 -> a
-com.android.tools.r8.ir.optimize.Outliner -> com.android.tools.r8.ir.optimize.O:
-    java.util.List candidateMethodLists -> a
-    java.util.Map outlineSites -> b
-    java.util.Map generatedOutlines -> c
-    com.android.tools.r8.graph.AppView appView -> d
-    boolean $assertionsDisabled -> g
-    java.util.function.Consumer outlineMethodIdentifierGenerator -> f
-    com.android.tools.r8.ir.optimize.InliningConstraints inliningConstraints -> e
+com.android.tools.r8.ir.optimize.Outliner -> com.android.tools.r8.ir.optimize.Q:
+    java.util.List candidateMethodLists -> b
+    java.util.Map outlineSites -> c
+    java.util.Map generatedOutlines -> d
+    com.android.tools.r8.graph.AppView appView -> e
+    java.util.function.Consumer outlineMethodIdentifierGenerator -> g
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.optimize.InliningConstraints inliningConstraints -> f
     1:1:void <clinit>():108:108 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):1269:1269 -> <init>
     2:1162:void <init>(com.android.tools.r8.graph.AppView):111:1271 -> <init>
@@ -36491,7 +36541,7 @@
     35:35:void com.android.tools.r8.graph.DexEncodedMethod.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
     35:35:com.android.tools.r8.graph.DexProgramClass buildOutlinerClass(com.android.tools.r8.graph.DexType):1348 -> a
     36:39:com.android.tools.r8.graph.DexProgramClass buildOutlinerClass(com.android.tools.r8.graph.DexType):1348:1351 -> a
-    40:40:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    40:40:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     40:40:com.android.tools.r8.graph.DexProgramClass buildOutlinerClass(com.android.tools.r8.graph.DexType):1351 -> a
     41:73:com.android.tools.r8.graph.DexProgramClass buildOutlinerClass(com.android.tools.r8.graph.DexType):1352:1384 -> a
     74:80:void applyOutliningCandidate(com.android.tools.r8.ir.code.IRCode):1401:1407 -> a
@@ -36505,7 +36555,7 @@
     1:1:java.util.Map access$300(com.android.tools.r8.ir.optimize.Outliner):108:108 -> d
     2:10:com.android.tools.r8.utils.collections.ProgramMethodSet selectMethodsForOutlining():1314:1322 -> d
     1:1:java.util.Map access$400(com.android.tools.r8.ir.optimize.Outliner):108:108 -> e
-com.android.tools.r8.ir.optimize.Outliner$BinOpOutlineInstruction -> com.android.tools.r8.ir.optimize.K:
+com.android.tools.r8.ir.optimize.Outliner$BinOpOutlineInstruction -> com.android.tools.r8.ir.optimize.M:
     com.android.tools.r8.ir.code.NumericType numericType -> c
     1:2:void <init>(com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction$OutlineInstructionType,com.android.tools.r8.ir.code.NumericType):210:211 -> <init>
     java.lang.String getDetailsString() -> a
@@ -36539,13 +36589,13 @@
     1:1:int com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction.hashCode():182:182 -> hashCode
     1:1:int hashCode():222 -> hashCode
     2:2:int hashCode():222:222 -> hashCode
-com.android.tools.r8.ir.optimize.Outliner$InvokeOutlineInstruction -> com.android.tools.r8.ir.optimize.L:
-    com.android.tools.r8.ir.code.Invoke$Type invokeType -> d
-    com.android.tools.r8.graph.DexProto proto -> f
-    boolean hasOutValue -> e
-    boolean hasReceiver -> g
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.graph.DexMethod method -> c
+com.android.tools.r8.ir.optimize.Outliner$InvokeOutlineInstruction -> com.android.tools.r8.ir.optimize.N:
+    com.android.tools.r8.graph.DexProto proto -> g
+    com.android.tools.r8.ir.code.Invoke$Type invokeType -> e
+    boolean hasOutValue -> f
+    com.android.tools.r8.graph.DexMethod method -> d
+    boolean hasReceiver -> h
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():372:372 -> <clinit>
     1:7:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean,com.android.tools.r8.ir.code.ValueType[],com.android.tools.r8.graph.DexProto):385:391 -> <init>
     1:11:com.android.tools.r8.ir.optimize.Outliner$InvokeOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.InvokeMethod):395:405 -> a
@@ -36573,7 +36623,7 @@
     1:1:int com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction.hashCode():182:182 -> hashCode
     1:1:int hashCode():410 -> hashCode
     2:6:int hashCode():410:414 -> hashCode
-com.android.tools.r8.ir.optimize.Outliner$NewInstanceOutlineInstruction -> com.android.tools.r8.ir.optimize.M:
+com.android.tools.r8.ir.optimize.Outliner$NewInstanceOutlineInstruction -> com.android.tools.r8.ir.optimize.O:
     com.android.tools.r8.graph.DexType clazz -> c
     1:2:void <init>(com.android.tools.r8.graph.DexType):312:313 -> <init>
     1:1:int compareTo(com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction):333:333 -> a
@@ -36592,14 +36642,14 @@
     1:1:int com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction.hashCode():182:182 -> hashCode
     1:1:int hashCode():328 -> hashCode
     2:2:int hashCode():328:328 -> hashCode
-com.android.tools.r8.ir.optimize.Outliner$Outline -> com.android.tools.r8.ir.optimize.N:
-    java.util.List argumentMap -> b
-    java.util.List argumentTypes -> a
-    com.android.tools.r8.graph.DexProto proto -> e
-    com.android.tools.r8.ir.optimize.Outliner this$0 -> f
-    java.util.List templateInstructions -> c
-    com.android.tools.r8.graph.DexType returnType -> d
-    boolean $assertionsDisabled -> g
+com.android.tools.r8.ir.optimize.Outliner$Outline -> com.android.tools.r8.ir.optimize.P:
+    java.util.List argumentTypes -> b
+    java.util.List templateInstructions -> d
+    java.util.List argumentMap -> c
+    com.android.tools.r8.graph.DexProto proto -> f
+    com.android.tools.r8.ir.optimize.Outliner this$0 -> g
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexType returnType -> e
     1:1:void <clinit>():532:532 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.Outliner,java.util.List,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,int,int):549:549 -> <init>
     2:29:void <init>(com.android.tools.r8.ir.optimize.Outliner,java.util.List,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,int,int):536:563 -> <init>
@@ -36616,7 +36666,7 @@
     1:18:boolean equals(java.lang.Object):587:604 -> equals
     1:6:int hashCode():612:617 -> hashCode
     1:37:java.lang.String toString():673:709 -> toString
-com.android.tools.r8.ir.optimize.Outliner$OutlineCode -> com.android.tools.r8.ir.optimize.O$a:
+com.android.tools.r8.ir.optimize.Outliner$OutlineCode -> com.android.tools.r8.ir.optimize.Q$a:
     com.android.tools.r8.ir.optimize.Outliner this$0 -> b
     com.android.tools.r8.ir.optimize.Outliner$Outline outline -> a
     1:2:void <init>(com.android.tools.r8.ir.optimize.Outliner,com.android.tools.r8.ir.optimize.Outliner$Outline):1573:1574 -> <init>
@@ -36626,9 +36676,9 @@
     1:1:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):1611:1611 -> registerCodeReferences
     1:1:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):1616:1616 -> registerCodeReferencesForDesugaring
     1:1:java.lang.String toString():1606:1606 -> toString
-com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction -> com.android.tools.r8.ir.optimize.Q:
-    com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction$OutlineInstructionType type -> a
-    boolean $assertionsDisabled -> b
+com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction -> com.android.tools.r8.ir.optimize.T:
+    com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction$OutlineInstructionType type -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():123:123 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction$OutlineInstructionType):165:166 -> <init>
     int compareTo(com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction) -> a
@@ -36638,7 +36688,7 @@
     java.lang.String getInstructionName() -> b
     boolean hasOutValue() -> c
     int numberOfInputs() -> d
-com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction$OutlineInstructionType -> com.android.tools.r8.ir.optimize.P:
+com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction$OutlineInstructionType -> com.android.tools.r8.ir.optimize.S:
     com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction$OutlineInstructionType[] $VALUES -> h
     com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction$OutlineInstructionType ADD -> a
     com.android.tools.r8.ir.optimize.Outliner$OutlineInstruction$OutlineInstructionType SUB -> b
@@ -36650,19 +36700,19 @@
     1:7:void <clinit>():129:135 -> <clinit>
     8:8:void <clinit>():128:128 -> <clinit>
     1:1:void <init>(java.lang.String,int):128:128 -> <init>
-com.android.tools.r8.ir.optimize.Outliner$OutlineMethodIdentifier -> com.android.tools.r8.ir.optimize.S:
+com.android.tools.r8.ir.optimize.Outliner$OutlineMethodIdentifier -> com.android.tools.r8.ir.optimize.U:
     java.util.Map candidateMap -> q
     com.android.tools.r8.ir.optimize.Outliner this$0 -> r
     1:3:void <init>(com.android.tools.r8.ir.optimize.Outliner,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.BasicBlock,java.util.Map):1140:1142 -> <init>
     1:3:void handle(int,int,com.android.tools.r8.ir.optimize.Outliner$Outline):1147:1149 -> a
     4:5:com.android.tools.r8.utils.collections.LongLivedProgramMethodMultisetBuilder addOutlineMethodList(com.android.tools.r8.ir.optimize.Outliner$Outline):1153:1154 -> a
-com.android.tools.r8.ir.optimize.Outliner$OutlineRewriter -> com.android.tools.r8.ir.optimize.T:
-    java.util.ListIterator blocksIterator -> r
-    java.util.List toRemove -> s
-    com.android.tools.r8.ir.code.IRCode code -> q
-    boolean $assertionsDisabled -> v
-    com.android.tools.r8.ir.optimize.Outliner this$0 -> u
-    int argumentsMapIndex -> t
+com.android.tools.r8.ir.optimize.Outliner$OutlineRewriter -> com.android.tools.r8.ir.optimize.V:
+    java.util.ListIterator blocksIterator -> s
+    java.util.List toRemove -> t
+    com.android.tools.r8.ir.optimize.Outliner this$0 -> v
+    com.android.tools.r8.ir.code.IRCode code -> r
+    int argumentsMapIndex -> u
+    boolean $assertionsDisabled -> q
     1:1:void <clinit>():1174:1174 -> <clinit>
     1:5:void <init>(com.android.tools.r8.ir.optimize.Outliner,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.List):1185:1189 -> <init>
     1:60:void handle(int,int,com.android.tools.r8.ir.optimize.Outliner$Outline):1194:1253 -> a
@@ -36674,17 +36724,17 @@
     66:66:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.Outliner$Outline):1261 -> a
     67:70:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.Outliner$Outline):1261:1264 -> a
     71:71:boolean lambda$removeMethodFromOutlineList$0(com.android.tools.r8.graph.ProgramMethod):1263:1263 -> a
-com.android.tools.r8.ir.optimize.Outliner$OutlineSiteIdentifier -> com.android.tools.r8.ir.optimize.U:
+com.android.tools.r8.ir.optimize.Outliner$OutlineSiteIdentifier -> com.android.tools.r8.ir.optimize.W:
     com.android.tools.r8.ir.optimize.Outliner this$0 -> q
     1:2:void <init>(com.android.tools.r8.ir.optimize.Outliner,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.BasicBlock):1161:1162 -> <init>
     1:3:void handle(int,int,com.android.tools.r8.ir.optimize.Outliner$Outline):1167:1169 -> a
     4:4:java.util.List lambda$handle$0(com.android.tools.r8.ir.optimize.Outliner$Outline):1168:1168 -> a
-com.android.tools.r8.ir.optimize.Outliner$OutlineSourceCode -> com.android.tools.r8.ir.optimize.V:
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.optimize.Outliner this$0 -> d
-    com.android.tools.r8.ir.code.Position position -> b
-    com.android.tools.r8.ir.optimize.Outliner$Outline outline -> a
-    int argumentMapIndex -> c
+com.android.tools.r8.ir.optimize.Outliner$OutlineSourceCode -> com.android.tools.r8.ir.optimize.X:
+    com.android.tools.r8.ir.optimize.Outliner this$0 -> e
+    int argumentMapIndex -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.Position position -> c
+    com.android.tools.r8.ir.optimize.Outliner$Outline outline -> b
     1:1:void <clinit>():1418:1418 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.Outliner,com.android.tools.r8.ir.optimize.Outliner$Outline,com.android.tools.r8.graph.DexMethod):1424:1424 -> <init>
     2:6:void <init>(com.android.tools.r8.ir.optimize.Outliner,com.android.tools.r8.ir.optimize.Outliner$Outline,com.android.tools.r8.graph.DexMethod):1422:1426 -> <init>
@@ -36712,23 +36762,23 @@
     com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
     boolean verifyRegister(int) -> f
     int instructionIndex(int) -> g
-com.android.tools.r8.ir.optimize.Outliner$OutlineSpotter -> com.android.tools.r8.ir.optimize.W:
-    int pendingNewInstanceIndex -> n
-    com.android.tools.r8.graph.DexType returnType -> k
-    boolean $assertionsDisabled -> p
-    int returnValueUsersLeft -> m
-    int argumentRegisters -> j
-    int actualInstructions -> f
-    int start -> d
-    int index -> e
-    com.android.tools.r8.graph.ProgramMethod method -> a
-    com.android.tools.r8.ir.code.Value returnValue -> l
-    java.util.List instructionArrayCache -> c
-    java.util.List argumentsMap -> i
-    java.util.List argumentTypes -> h
-    java.util.List arguments -> g
-    com.android.tools.r8.ir.code.BasicBlock block -> b
-    com.android.tools.r8.ir.optimize.Outliner this$0 -> o
+com.android.tools.r8.ir.optimize.Outliner$OutlineSpotter -> com.android.tools.r8.ir.optimize.Y:
+    com.android.tools.r8.graph.DexType returnType -> l
+    int returnValueUsersLeft -> n
+    int pendingNewInstanceIndex -> o
+    int argumentRegisters -> k
+    int index -> f
+    int actualInstructions -> g
+    int start -> e
+    com.android.tools.r8.graph.ProgramMethod method -> b
+    com.android.tools.r8.ir.code.Value returnValue -> m
+    java.util.List instructionArrayCache -> d
+    java.util.List argumentsMap -> j
+    java.util.List argumentTypes -> i
+    java.util.List arguments -> h
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.optimize.Outliner this$0 -> p
+    com.android.tools.r8.ir.code.BasicBlock block -> c
     1:1:void <clinit>():717:717 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.Outliner,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.BasicBlock):736:736 -> <init>
     2:19:void <init>(com.android.tools.r8.ir.optimize.Outliner,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.BasicBlock):722:739 -> <init>
@@ -36737,7 +36787,7 @@
     5:10:java.util.List orderedInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):768:773 -> a
     11:23:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):918:930 -> a
     24:30:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):935:941 -> a
-    31:31:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    31:31:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     31:31:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):941 -> a
     32:38:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):944:950 -> a
     39:70:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):956:987 -> a
@@ -36773,7 +36823,7 @@
     200:200:void process():761 -> c
     201:211:void processInstruction(com.android.tools.r8.ir.code.Instruction):810:820 -> c
     201:211:void process():761 -> c
-com.android.tools.r8.ir.optimize.PeepholeOptimizer -> com.android.tools.r8.ir.optimize.X:
+com.android.tools.r8.ir.optimize.PeepholeOptimizer -> com.android.tools.r8.ir.optimize.Z:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):40:40 -> a
@@ -36804,7 +36854,7 @@
     291:291:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):299 -> a
     292:314:com.android.tools.r8.ir.code.BasicBlock createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):335:357 -> a
     292:314:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):299 -> a
-    315:315:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1574:1574 -> a
+    315:315:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> a
     315:315:com.android.tools.r8.ir.code.BasicBlock createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):358 -> a
     315:315:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):299 -> a
     316:345:com.android.tools.r8.ir.code.BasicBlock createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):359:388 -> a
@@ -36816,18 +36866,18 @@
     365:365:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):398 -> a
     366:368:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):399:401 -> a
     369:389:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):433:453 -> a
-    390:391:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1574:1574 -> a
+    390:391:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> a
     390:391:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):454 -> a
     392:392:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):454:454 -> a
     393:407:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):453:467 -> a
-    408:408:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1574:1574 -> a
+    408:408:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> a
     408:408:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):468 -> a
     409:412:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):468:471 -> a
     413:415:void removeWideConstantCovering(java.util.Map,int):544:546 -> a
     1:19:boolean mayShareIdenticalBlockPrefix(com.android.tools.r8.ir.code.BasicBlock):207:225 -> b
     20:20:boolean mayShareIdenticalBlockPrefix(com.android.tools.r8.ir.code.BasicBlock):224:224 -> b
     21:21:java.util.List lambda$shareIdenticalBlockSuffix$2(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):272:272 -> b
-com.android.tools.r8.ir.optimize.PhiOptimizations -> com.android.tools.r8.ir.optimize.Y:
+com.android.tools.r8.ir.optimize.PhiOptimizations -> com.android.tools.r8.ir.optimize.a0:
     1:1:void <init>():21:21 -> <init>
     1:1:boolean optimize(com.android.tools.r8.ir.code.IRCode):24:24 -> a
     1:6:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):112:117 -> b
@@ -36849,15 +36899,15 @@
     39:50:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
     51:64:boolean tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):160:173 -> b
     51:64:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
-com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination -> com.android.tools.r8.ir.optimize.g0:
-    com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockState activeState -> f
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set affectedValues -> d
-    com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockStates activeStates -> e
-    int $r8$clinit -> h
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.ir.code.IRCode code -> c
-    com.android.tools.r8.graph.ProgramMethod method -> b
+com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination -> com.android.tools.r8.ir.optimize.i0:
+    com.android.tools.r8.ir.code.IRCode code -> e
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockState activeState -> h
+    java.util.Set affectedValues -> f
+    com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockStates activeStates -> g
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
+    com.android.tools.r8.graph.ProgramMethod method -> d
     1:1:void <clinit>():52:52 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):71:71 -> <init>
     2:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):62:74 -> <init>
@@ -36872,55 +36922,52 @@
     2:23:void run():164:185 -> b
     24:28:com.android.tools.r8.graph.DexEncodedField resolveField(com.android.tools.r8.graph.DexField):154:158 -> b
     24:28:void run():186 -> b
-    29:29:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> b
-    29:29:com.android.tools.r8.graph.DexEncodedField resolveField(com.android.tools.r8.graph.DexField):158 -> b
-    29:29:void run():186 -> b
-    30:47:void run():187:204 -> b
-    48:59:void run():203:214 -> b
-    60:60:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):147:147 -> b
+    29:46:void run():187:204 -> b
+    47:58:void run():203:214 -> b
+    59:59:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):147:147 -> b
+    59:59:void run():215 -> b
+    60:60:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():134:134 -> b
+    60:60:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):148 -> b
     60:60:void run():215 -> b
-    61:61:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():134:134 -> b
-    61:61:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):148 -> b
+    61:61:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):150:150 -> b
     61:61:void run():215 -> b
-    62:62:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):150:150 -> b
-    62:62:void run():215 -> b
-    63:63:void run():216:216 -> b
-    64:69:boolean verifyWasInstanceInitializer():334:339 -> b
-    64:69:void run():217 -> b
-    70:73:boolean verifyWasInstanceInitializer():337:340 -> b
-    70:73:void run():217 -> b
-    74:90:void run():218:234 -> b
-    91:91:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):147:147 -> b
+    62:62:void run():216:216 -> b
+    63:68:boolean verifyWasInstanceInitializer():334:339 -> b
+    63:68:void run():217 -> b
+    69:72:boolean verifyWasInstanceInitializer():337:340 -> b
+    69:72:void run():217 -> b
+    73:89:void run():218:234 -> b
+    90:90:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):147:147 -> b
+    90:90:void run():235 -> b
+    91:91:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():134:134 -> b
+    91:91:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):148 -> b
     91:91:void run():235 -> b
-    92:92:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():134:134 -> b
-    92:92:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):148 -> b
+    92:92:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):150:150 -> b
     92:92:void run():235 -> b
-    93:93:boolean isFinal(com.android.tools.r8.graph.DexEncodedField):150:150 -> b
-    93:93:void run():235 -> b
-    94:104:void run():236:246 -> b
-    105:105:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():134:134 -> b
-    105:105:void run():247 -> b
-    106:109:void run():248:251 -> b
-    110:199:void run():188:277 -> b
-    200:241:void run():272:313 -> b
-    242:268:void run():288:314 -> b
-    269:269:void run() -> b
-    270:270:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():196:196 -> b
-    270:270:void run():317 -> b
-    271:281:void run():318:328 -> b
-    282:282:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
-    282:282:void run():328 -> b
-    283:285:void run():328:330 -> b
+    93:103:void run():236:246 -> b
+    104:104:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():134:134 -> b
+    104:104:void run():247 -> b
+    105:108:void run():248:251 -> b
+    109:198:void run():188:277 -> b
+    199:240:void run():272:313 -> b
+    241:267:void run():288:314 -> b
+    268:268:void run():269:269 -> b
+    269:269:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():196:196 -> b
+    269:269:void run():317 -> b
+    270:280:void run():318:328 -> b
+    281:281:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
+    281:281:void run():328 -> b
+    282:284:void run():328:330 -> b
     1:1:com.android.tools.r8.graph.ProgramMethod access$200(com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination):52:52 -> c
     1:1:com.android.tools.r8.ir.code.IRCode access$300(com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination):52:52 -> d
-com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$1 -> com.android.tools.r8.ir.optimize.Z:
-com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockState -> com.android.tools.r8.ir.optimize.a0:
-    java.util.LinkedHashMap finalInstanceFieldValues -> a
-    java.util.LinkedHashMap nonFinalInstanceFieldValues -> d
-    java.util.LinkedHashMap nonFinalStaticFieldValues -> e
-    java.util.LinkedHashMap finalStaticFieldValues -> b
-    boolean $assertionsDisabled -> f
-    java.util.LinkedHashSet initializedClasses -> c
+com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$1 -> com.android.tools.r8.ir.optimize.b0:
+com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockState -> com.android.tools.r8.ir.optimize.c0:
+    java.util.LinkedHashSet initializedClasses -> d
+    java.util.LinkedHashMap nonFinalInstanceFieldValues -> e
+    java.util.LinkedHashMap finalInstanceFieldValues -> b
+    java.util.LinkedHashMap finalStaticFieldValues -> c
+    java.util.LinkedHashMap nonFinalStaticFieldValues -> f
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():538:538 -> <clinit>
     1:1:void <init>():550:550 -> <init>
     2:23:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockState):552:573 -> <init>
@@ -36971,10 +37018,10 @@
     3:3:int size(java.util.Set):809:809 -> e
     3:3:int size():803 -> e
     4:6:int size():803:805 -> e
-com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockStates -> com.android.tools.r8.ir.optimize.b0:
-    java.util.LinkedHashMap activeStateAtExit -> a
-    int capacity -> b
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockStates -> com.android.tools.r8.ir.optimize.d0:
+    java.util.LinkedHashMap activeStateAtExit -> b
+    boolean $assertionsDisabled -> a
+    int capacity -> c
     1:1:void <clinit>():419:419 -> <clinit>
     1:6:void <init>():419:424 -> <init>
     1:11:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):490:500 -> a
@@ -36991,40 +37038,40 @@
     47:47:com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock):427 -> a
     48:71:com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock):428:451 -> a
     1:5:void removeState(com.android.tools.r8.ir.code.BasicBlock):519:523 -> b
-com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$ExistingValue -> com.android.tools.r8.ir.optimize.c0:
+com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$ExistingValue -> com.android.tools.r8.ir.optimize.e0:
     com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination this$0 -> b
     com.android.tools.r8.ir.code.Value value -> a
     1:1:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$1):87:87 -> <init>
     2:3:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination,com.android.tools.r8.ir.code.Value):91:92 -> <init>
     1:4:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):97:100 -> a
-com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$FieldAndObject -> com.android.tools.r8.ir.optimize.d0:
-    com.android.tools.r8.graph.DexField field -> a
-    com.android.tools.r8.ir.code.Value object -> b
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$FieldAndObject -> com.android.tools.r8.ir.optimize.f0:
+    com.android.tools.r8.graph.DexField field -> b
+    com.android.tools.r8.ir.code.Value object -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():121:121 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$1):121:121 -> <init>
     2:5:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value):125:128 -> <init>
     1:1:com.android.tools.r8.graph.DexField access$700(com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$FieldAndObject):121:121 -> a
     1:5:boolean equals(java.lang.Object):138:142 -> equals
     1:1:int hashCode():133:133 -> hashCode
-com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$FieldValue -> com.android.tools.r8.ir.optimize.e0:
+com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$FieldValue -> com.android.tools.r8.ir.optimize.g0:
     void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction) -> a
-com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$MaterializableValue -> com.android.tools.r8.ir.optimize.f0:
-    com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination this$0 -> b
-    com.android.tools.r8.ir.analysis.value.SingleValue value -> a
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$MaterializableValue -> com.android.tools.r8.ir.optimize.h0:
+    com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination this$0 -> c
+    com.android.tools.r8.ir.analysis.value.SingleValue value -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():104:104 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination,com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination$1):104:104 -> <init>
     2:4:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadElimination,com.android.tools.r8.ir.analysis.value.SingleValue):108:110 -> <init>
     1:3:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):115:117 -> a
     4:4:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):116:116 -> a
-com.android.tools.r8.ir.optimize.ReflectionOptimizer -> com.android.tools.r8.ir.optimize.h0:
+com.android.tools.r8.ir.optimize.ReflectionOptimizer -> com.android.tools.r8.ir.optimize.j0:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():33:33 -> <clinit>
     1:22:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):39:60 -> a
     23:46:com.android.tools.r8.graph.DexType getTypeForGetClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeVirtual):89:112 -> a
     23:46:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):60 -> a
-    47:47:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    47:47:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     47:47:com.android.tools.r8.graph.DexType getTypeForGetClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeVirtual):117 -> a
     47:47:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):60 -> a
     48:60:com.android.tools.r8.graph.DexType getTypeForGetClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeVirtual):117:129 -> a
@@ -37036,67 +37083,66 @@
     140:140:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.classClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):385:385 -> a
     140:140:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):67 -> a
     141:144:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):68:71 -> a
-    145:145:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    145:145:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     145:145:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):71 -> a
     146:148:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):72:74 -> a
     149:158:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):73:82 -> a
     159:159:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
     159:159:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):82 -> a
     160:162:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):82:84 -> a
-com.android.tools.r8.ir.optimize.ServiceLoaderRewriter -> com.android.tools.r8.ir.optimize.j0:
+com.android.tools.r8.ir.optimize.ServiceLoaderRewriter -> com.android.tools.r8.ir.optimize.l0:
     com.android.tools.r8.graph.AppView appView -> c
-    java.util.concurrent.ConcurrentHashMap synthesizedServiceLoaders -> b
-    java.util.concurrent.atomic.AtomicReference synthesizedClass -> a
-    boolean $assertionsDisabled -> d
-    1:1:void <clinit>():69:69 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView):80:80 -> <init>
-    2:9:void <init>(com.android.tools.r8.graph.AppView):74:81 -> <init>
-    1:1:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):89:89 -> a
-    2:2:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
-    2:2:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):90 -> a
-    3:70:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):91:158 -> a
-    71:71:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    71:71:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):158 -> a
-    72:82:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):162:172 -> a
-    83:95:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):171:183 -> a
-    96:108:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId):189:201 -> a
-    96:108:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):175 -> a
-    109:121:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId):198:210 -> a
-    109:121:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):175 -> a
-    122:122:void com.android.tools.r8.graph.DexEncodedMethod.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
-    122:122:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId):210 -> a
-    122:122:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):175 -> a
-    123:124:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId):212:213 -> a
-    123:124:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):175 -> a
-    125:125:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):176:176 -> a
-    126:126:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    126:126:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):176 -> a
-    127:127:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):177:177 -> a
-    128:128:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId):214:214 -> a
-    128:128:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):175 -> a
-    129:165:com.android.tools.r8.graph.DexProgramClass getOrSetSynthesizedClass():218:254 -> a
-    166:187:com.android.tools.r8.graph.DexProgramClass lambda$getOrSetSynthesizedClass$1(com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.graph.DexProgramClass):229:250 -> a
-    1:1:com.android.tools.r8.graph.DexProgramClass getSynthesizedClass():85:85 -> b
-com.android.tools.r8.ir.optimize.ServiceLoaderRewriter$Rewriter -> com.android.tools.r8.ir.optimize.i0:
+    java.util.concurrent.atomic.AtomicReference synthesizedClass -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():70:70 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView):79:79 -> <init>
+    2:7:void <init>(com.android.tools.r8.graph.AppView):75:80 -> <init>
+    1:1:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):88:88 -> a
+    2:2:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
+    2:2:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):89 -> a
+    3:71:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):92:160 -> a
+    72:72:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    72:72:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):160 -> a
+    73:83:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):164:174 -> a
+    84:96:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessingId):173:185 -> a
+    97:109:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId):191:203 -> a
+    97:109:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):177 -> a
+    110:122:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId):200:212 -> a
+    110:122:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):177 -> a
+    123:123:void com.android.tools.r8.graph.DexEncodedMethod.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean):231:231 -> a
+    123:123:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId):212 -> a
+    123:123:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):177 -> a
+    124:125:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId):214:215 -> a
+    124:125:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):177 -> a
+    126:126:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):178:178 -> a
+    127:127:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    127:127:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):178 -> a
+    128:128:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):179:179 -> a
+    129:129:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId):216:216 -> a
+    129:129:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.ir.conversion.MethodProcessingId,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):177 -> a
+    130:166:com.android.tools.r8.graph.DexProgramClass getOrSetSynthesizedClass():220:256 -> a
+    167:188:com.android.tools.r8.graph.DexProgramClass lambda$getOrSetSynthesizedClass$1(com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.graph.DexProgramClass):231:252 -> a
+    1:1:com.android.tools.r8.graph.DexProgramClass getSynthesizedClass():84:84 -> b
+com.android.tools.r8.ir.optimize.ServiceLoaderRewriter$Rewriter -> com.android.tools.r8.ir.optimize.k0:
     com.android.tools.r8.ir.code.IRCode code -> a
     com.android.tools.r8.ir.code.InstructionListIterator iterator -> c
     com.android.tools.r8.ir.code.InvokeStatic serviceLoaderLoad -> b
-    1:4:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic):288:291 -> <init>
+    1:4:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic):290:293 -> <init>
     boolean lambda$perform$1(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.code.Instruction) -> a
-    1:1:boolean lambda$perform$0(com.android.tools.r8.ir.code.Instruction):298:298 -> a
-    2:5:void clearGetClassLoader(com.android.tools.r8.ir.code.InvokeVirtual):314:317 -> a
-    2:5:void perform(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexMethod):297 -> a
-    6:18:void perform(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexMethod):298:310 -> a
-com.android.tools.r8.ir.optimize.SwitchCaseEliminator -> com.android.tools.r8.ir.optimize.k0:
-    com.android.tools.r8.ir.code.BasicBlock alwaysHitTarget -> f
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.ir.code.InstructionListIterator iterator -> c
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet switchCasesToBeRemoved -> h
-    boolean mayHaveIntroducedUnreachableBlocks -> g
-    com.android.tools.r8.ir.code.Switch theSwitch -> d
-    int alwaysHitCase -> e
-    com.android.tools.r8.ir.code.BasicBlock defaultTarget -> b
-    com.android.tools.r8.ir.code.BasicBlock block -> a
+    1:1:boolean lambda$perform$0(com.android.tools.r8.ir.code.Instruction):300:300 -> a
+    2:5:void clearGetClassLoader(com.android.tools.r8.ir.code.InvokeVirtual):316:319 -> a
+    2:5:void perform(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexMethod):299 -> a
+    6:18:void perform(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexMethod):300:312 -> a
+com.android.tools.r8.ir.optimize.SwitchCaseEliminator -> com.android.tools.r8.ir.optimize.m0:
+    com.android.tools.r8.ir.code.BasicBlock alwaysHitTarget -> g
+    int alwaysHitCase -> f
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet switchCasesToBeRemoved -> i
+    com.android.tools.r8.ir.code.Switch theSwitch -> e
+    com.android.tools.r8.ir.code.InstructionListIterator iterator -> d
+    boolean mayHaveIntroducedUnreachableBlocks -> h
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock defaultTarget -> c
+    com.android.tools.r8.ir.code.BasicBlock block -> b
     1:1:void <clinit>():22:22 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.code.InstructionListIterator):34:34 -> <init>
     2:11:void <init>(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.code.InstructionListIterator):29:38 -> <init>
@@ -37134,7 +37180,7 @@
     87:88:boolean optimize():89 -> d
     89:89:void replaceSwitchByGoto():136:136 -> d
     89:89:boolean optimize():89 -> d
-com.android.tools.r8.ir.optimize.SwitchMapCollector -> com.android.tools.r8.ir.optimize.l0:
+com.android.tools.r8.ir.optimize.SwitchMapCollector -> com.android.tools.r8.ir.optimize.n0:
     com.android.tools.r8.graph.DexString switchMapPrefix -> b
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.DexString kotlinSwitchMapPrefix -> c
@@ -37146,80 +37192,66 @@
     8:15:void processClasses(com.android.tools.r8.graph.DexProgramClass):91:98 -> a
     16:16:void lambda$processClasses$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedField):98:98 -> a
     17:52:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):103:138 -> a
-    53:53:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    53:53:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     53:53:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):138 -> a
     54:64:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):139:149 -> a
-    65:65:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    65:65:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     65:65:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):149 -> a
     66:77:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):149:160 -> a
     78:78:boolean lambda$extractSwitchMap$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Instruction):122:122 -> a
     79:81:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):165:167 -> a
-com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization -> com.android.tools.r8.ir.optimize.n0:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.utils.MethodSignatureEquivalence equivalence -> b
-    boolean $assertionsDisabled -> c
-    1:48:void <clinit>():52:99 -> <clinit>
-    1:2:void <init>(com.android.tools.r8.graph.AppView):103:104 -> <init>
-    1:12:com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$UninstantiatedTypeOptimizationGraphLense run(com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):110:121 -> a
-    13:24:com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$UninstantiatedTypeOptimizationGraphLense run(com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):120:131 -> a
-    25:25:com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$UninstantiatedTypeOptimizationGraphLense run(com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):112:112 -> a
-    26:26:void lambda$run$0(java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.Map,com.android.tools.r8.graph.DexProgramClass):123:123 -> a
-    27:37:void processClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.Map):143:153 -> a
-    38:141:void processClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.Map):150:253 -> a
-    142:145:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$1(java.util.Map,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexEncodedMethod):188:191 -> a
-    146:163:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$1(java.util.Map,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexEncodedMethod):190:207 -> a
-    164:164:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$1(java.util.Map,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexEncodedMethod):205:205 -> a
-    165:188:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$3(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.DexEncodedMethod):223:246 -> a
-    189:189:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$3(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.DexEncodedMethod):244:244 -> a
-    190:190:boolean lambda$processClass$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):236:236 -> a
-    191:212:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$5(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):255:276 -> a
-    213:220:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$5(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):275:282 -> a
-    221:221:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$5(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
-    222:222:java.util.Set lambda$processClass$4(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):276:276 -> a
-    223:228:com.android.tools.r8.graph.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy):291:296 -> a
-    229:229:com.android.tools.r8.graph.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy):295:295 -> a
-    230:230:com.android.tools.r8.graph.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy):293:293 -> a
-    231:235:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):321:325 -> a
-    236:250:void rewrite(com.android.tools.r8.ir.code.IRCode):329:343 -> a
-    251:259:boolean isThrowNullCandidate(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):376:384 -> a
-    251:259:void rewrite(com.android.tools.r8.ir.code.IRCode):343 -> a
-    260:267:void rewrite(com.android.tools.r8.ir.code.IRCode):344:351 -> a
-    268:286:void rewriteInvoke(com.android.tools.r8.ir.code.InvokeMethod,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeDynamicTypeRemover,java.util.Set,java.util.Set):404:422 -> a
-    268:286:void rewrite(com.android.tools.r8.ir.code.IRCode):350 -> a
-    287:295:void replaceOutValueByNull(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeDynamicTypeRemover,java.util.Set):434:442 -> a
-    287:295:void rewriteInvoke(com.android.tools.r8.ir.code.InvokeMethod,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeDynamicTypeRemover,java.util.Set,java.util.Set):423 -> a
-    287:295:void rewrite(com.android.tools.r8.ir.code.IRCode):350 -> a
-    296:298:void replaceOutValueByNull(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeDynamicTypeRemover,java.util.Set):441:443 -> a
-    296:298:void rewriteInvoke(com.android.tools.r8.ir.code.InvokeMethod,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeDynamicTypeRemover,java.util.Set,java.util.Set):423 -> a
-    296:298:void rewrite(com.android.tools.r8.ir.code.IRCode):350 -> a
-    299:300:void rewrite(com.android.tools.r8.ir.code.IRCode):361:362 -> a
-    301:301:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1187:1187 -> a
-    301:301:void rewrite(com.android.tools.r8.ir.code.IRCode):363 -> a
-    302:304:void rewrite(com.android.tools.r8.ir.code.IRCode):364:366 -> a
-    305:305:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    305:305:void rewrite(com.android.tools.r8.ir.code.IRCode):366 -> a
-    306:308:void rewrite(com.android.tools.r8.ir.code.IRCode):366:368 -> a
-    1:16:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection getRemovedArgumentsInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy):301:316 -> b
-com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy -> com.android.tools.r8.ir.optimize.m0:
+com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization -> com.android.tools.r8.ir.optimize.p0:
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.utils.MethodSignatureEquivalence equivalence -> a
+    boolean $assertionsDisabled -> b
+    1:48:void <clinit>():44:91 -> <clinit>
+    1:2:void <init>(com.android.tools.r8.graph.AppView):95:96 -> <init>
+    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexEncodedField.type():46:46 -> a
+    1:1:void lambda$strenghtenOptimizationInfo$0(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexEncodedField):107 -> a
+    2:8:void lambda$strenghtenOptimizationInfo$0(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexEncodedField):107:113 -> a
+    9:25:com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization strenghtenOptimizationInfo():100:116 -> a
+    26:27:void lambda$strenghtenOptimizationInfo$1(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexEncodedMethod):118:119 -> a
+    28:39:com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$UninstantiatedTypeOptimizationGraphLense run(com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):129:140 -> a
+    40:51:com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$UninstantiatedTypeOptimizationGraphLense run(com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):139:150 -> a
+    52:52:com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$UninstantiatedTypeOptimizationGraphLense run(com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):131:131 -> a
+    53:53:void lambda$run$2(java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.Map,com.android.tools.r8.graph.DexProgramClass):142:142 -> a
+    54:64:void processClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.Map):162:172 -> a
+    65:168:void processClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.optimize.MethodPoolCollection,java.util.Map):169:272 -> a
+    169:172:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$3(java.util.Map,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexEncodedMethod):207:210 -> a
+    173:190:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$3(java.util.Map,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexEncodedMethod):209:226 -> a
+    191:191:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$3(java.util.Map,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexEncodedMethod):224:224 -> a
+    192:215:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$5(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.DexEncodedMethod):242:265 -> a
+    216:216:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$5(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.DexEncodedMethod):263:263 -> a
+    217:217:boolean lambda$processClass$4(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):255:255 -> a
+    218:239:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$7(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):274:295 -> a
+    240:247:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$7(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):294:301 -> a
+    248:248:com.android.tools.r8.graph.DexEncodedMethod lambda$processClass$7(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
+    249:249:java.util.Set lambda$processClass$6(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):295:295 -> a
+    250:255:com.android.tools.r8.graph.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy):310:315 -> a
+    256:256:com.android.tools.r8.graph.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy):314:314 -> a
+    257:257:com.android.tools.r8.graph.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy):312:312 -> a
+    258:262:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription):340:344 -> a
+    1:16:com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection getRemovedArgumentsInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy):320:335 -> b
+com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy -> com.android.tools.r8.ir.optimize.o0:
     com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy ALLOW_ARGUMENT_REMOVAL -> a
     com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$Strategy DISALLOW_ARGUMENT_REMOVAL -> b
-    1:2:void <clinit>():55:56 -> <clinit>
-    1:1:void <init>(java.lang.String,int):54:54 -> <init>
-com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$UninstantiatedTypeOptimizationGraphLense -> com.android.tools.r8.ir.optimize.n0$a:
-    java.util.Map removedArgumentsInfoPerMethod -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> c
-    1:1:void <clinit>():59:59 -> <clinit>
-    1:7:void <init>(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.AppView):69:75 -> <init>
-    8:17:void <init>(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.AppView):68:77 -> <init>
-    1:12:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):82:93 -> lookupPrototypeChanges
-com.android.tools.r8.ir.optimize.UnusedArgumentsCollector -> com.android.tools.r8.ir.optimize.r0:
-    com.android.tools.r8.ir.optimize.MethodPoolCollection methodPoolCollection -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map removedArguments -> d
-    com.android.tools.r8.com.google.common.collect.BiMap methodMapping -> c
-    com.android.tools.r8.utils.MethodSignatureEquivalence equivalence -> e
-    boolean $assertionsDisabled -> f
+    1:2:void <clinit>():47:48 -> <clinit>
+    1:1:void <init>(java.lang.String,int):46:46 -> <init>
+com.android.tools.r8.ir.optimize.UninstantiatedTypeOptimization$UninstantiatedTypeOptimizationGraphLense -> com.android.tools.r8.ir.optimize.p0$a:
+    java.util.Map removedArgumentsInfoPerMethod -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():51:51 -> <clinit>
+    1:7:void <init>(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.AppView):61:67 -> <init>
+    8:17:void <init>(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.AppView):60:69 -> <init>
+    1:12:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):74:85 -> lookupPrototypeChanges
+com.android.tools.r8.ir.optimize.UnusedArgumentsCollector -> com.android.tools.r8.ir.optimize.t0:
+    com.android.tools.r8.ir.optimize.MethodPoolCollection methodPoolCollection -> d
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.com.google.common.collect.BiMap methodMapping -> e
+    com.android.tools.r8.utils.MethodSignatureEquivalence equivalence -> a
+    boolean $assertionsDisabled -> b
+    java.util.Map removedArguments -> f
     1:3:void <clinit>():44:46 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.MethodPoolCollection):91:91 -> <init>
     2:44:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.MethodPoolCollection):51:93 -> <init>
@@ -37247,29 +37279,29 @@
     1:8:void processDirectMethods(com.android.tools.r8.graph.DexProgramClass):219:226 -> b
     1:6:void processVirtualMethods(com.android.tools.r8.graph.DexProgramClass):256:261 -> c
     1:1:java.lang.Runnable runnableForClass(com.android.tools.r8.graph.DexProgramClass):215:215 -> d
-com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$1 -> com.android.tools.r8.ir.optimize.o0:
-com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$CollectUsedArguments -> com.android.tools.r8.ir.optimize.p0:
+com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$1 -> com.android.tools.r8.ir.optimize.q0:
+com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$CollectUsedArguments -> com.android.tools.r8.ir.optimize.r0:
     java.util.BitSet used -> a
     1:3:void <init>():340:342 -> <init>
     4:4:void <init>(com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$1):340:340 -> <init>
     1:1:java.util.BitSet getUsedArguments():345:345 -> a
     2:2:boolean register(int):350:350 -> a
-com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$GloballyUsedSignatures -> com.android.tools.r8.ir.optimize.q0:
+com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$GloballyUsedSignatures -> com.android.tools.r8.ir.optimize.s0:
     com.android.tools.r8.ir.optimize.UnusedArgumentsCollector this$0 -> b
     com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool methodPool -> a
     1:2:void <init>(com.android.tools.r8.ir.optimize.UnusedArgumentsCollector,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool):182:183 -> <init>
     1:11:com.android.tools.r8.graph.DexMethod getNewSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProto):192:202 -> a
     12:14:com.android.tools.r8.graph.DexEncodedMethod removeArguments(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):208:210 -> a
     15:15:com.android.tools.r8.graph.DexEncodedMethod removeArguments(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):209:209 -> a
-com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$UnusedArgumentsGraphLense -> com.android.tools.r8.ir.optimize.r0$a:
+com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$UnusedArgumentsGraphLense -> com.android.tools.r8.ir.optimize.t0$a:
     java.util.Map removedArguments -> a
     1:9:void <init>(java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexItemFactory,java.util.Map):67:75 -> <init>
     1:6:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):81:86 -> lookupPrototypeChanges
-com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$UsedSignatures -> com.android.tools.r8.ir.optimize.s0:
-    com.android.tools.r8.ir.optimize.UnusedArgumentsCollector this$0 -> c
-    com.android.tools.r8.utils.MethodSignatureEquivalence equivalence -> a
-    java.util.Set usedSignatures -> b
-    boolean $assertionsDisabled -> d
+com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$UsedSignatures -> com.android.tools.r8.ir.optimize.u0:
+    java.util.Set usedSignatures -> c
+    com.android.tools.r8.utils.MethodSignatureEquivalence equivalence -> b
+    com.android.tools.r8.ir.optimize.UnusedArgumentsCollector this$0 -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():127:127 -> <clinit>
     1:4:void <init>(com.android.tools.r8.ir.optimize.UnusedArgumentsCollector):127:130 -> <init>
     5:5:void <init>(com.android.tools.r8.ir.optimize.UnusedArgumentsCollector,com.android.tools.r8.ir.optimize.UnusedArgumentsCollector$1):127:127 -> <init>
@@ -37286,9 +37318,9 @@
     26:26:com.android.tools.r8.graph.DexEncodedMethod removeArguments(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):171 -> a
     27:27:com.android.tools.r8.graph.DexEncodedMethod removeArguments(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):174:174 -> a
     28:28:com.android.tools.r8.graph.DexEncodedMethod removeArguments(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.RewrittenPrototypeDescription$ArgumentInfoCollection):173:173 -> a
-com.android.tools.r8.ir.optimize.classinliner.ClassInliner -> com.android.tools.r8.ir.optimize.t0.b:
-    java.util.concurrent.ConcurrentHashMap knownClasses -> a
-    boolean $assertionsDisabled -> b
+com.android.tools.r8.ir.optimize.classinliner.ClassInliner -> com.android.tools.r8.ir.optimize.v0.b:
+    java.util.concurrent.ConcurrentHashMap knownClasses -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():41:41 -> <clinit>
     1:29:void <init>():41:69 -> <init>
     1:3:void logEligibilityStatus(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus):74:76 -> a
@@ -37297,20 +37329,17 @@
     50:52:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):224 -> a
     53:65:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):228:240 -> a
     66:77:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):236:247 -> a
-    78:78:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    78:78:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     78:78:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):248 -> a
     79:104:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):248:273 -> a
-    105:105:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1187:1187 -> a
+    105:105:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1191:1191 -> a
     105:105:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):274 -> a
     106:107:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):275:276 -> a
     108:108:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
     108:108:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):276 -> a
     109:129:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):276:296 -> a
-    130:130:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode):965:965 -> a
-    130:130:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyControlFlow(com.android.tools.r8.ir.code.IRCode):2410 -> a
-    130:130:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):298 -> a
-    131:131:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyControlFlow(com.android.tools.r8.ir.code.IRCode):2411:2411 -> a
-    131:131:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):298 -> a
+    130:131:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyControlFlow(com.android.tools.r8.ir.code.IRCode):2400:2401 -> a
+    130:131:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):298 -> a
     132:137:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):301:306 -> a
     138:138:boolean lambda$processMethodCode$0(com.android.tools.r8.ir.code.Instruction):180:180 -> a
     139:139:void lambda$processMethodCode$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):288:288 -> a
@@ -37319,11 +37348,11 @@
     141:161:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):329:349 -> a
     141:161:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):314 -> a
     141:161:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):199 -> a
-    162:162:boolean com.android.tools.r8.graph.DexClass.initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView):673:673 -> a
+    162:162:boolean com.android.tools.r8.graph.DexClass.initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView):680:680 -> a
     162:162:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):354 -> a
     162:162:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):314 -> a
     162:162:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):199 -> a
-    163:163:boolean com.android.tools.r8.graph.DexClass.initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView):672:672 -> a
+    163:163:boolean com.android.tools.r8.graph.DexClass.initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView):679:679 -> a
     163:163:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):354 -> a
     163:163:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):314 -> a
     163:163:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):199 -> a
@@ -37335,7 +37364,7 @@
     167:167:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):199 -> a
     168:169:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):315:316 -> a
     168:169:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):199 -> a
-com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus -> com.android.tools.r8.ir.optimize.t0.a:
+com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus -> com.android.tools.r8.ir.optimize.v0.a:
     com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus RETRIEVAL_MAY_HAVE_SIDE_EFFECTS -> c
     com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus UNKNOWN_TYPE -> d
     com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus NON_CLASS_TYPE -> a
@@ -37355,12 +37384,12 @@
     com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus ELIGIBLE -> q
     1:22:void <clinit>():45:66 -> <clinit>
     1:1:void <init>(java.lang.String,int):43:43 -> <init>
-com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis -> com.android.tools.r8.ir.optimize.t0.c:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set definiteReceiverAliases -> c
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.optimize.inliner.InliningIRProvider inliningIRProvider -> b
-    int estimatedCost -> d
+com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis -> com.android.tools.r8.ir.optimize.v0.c:
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set definiteReceiverAliases -> d
+    com.android.tools.r8.ir.optimize.inliner.InliningIRProvider inliningIRProvider -> c
+    int estimatedCost -> e
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():27:27 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,java.util.Set):38:38 -> <init>
     2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,java.util.Set):33:41 -> <init>
@@ -37374,18 +37403,18 @@
     53:53:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):78 -> a
     54:64:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):79:89 -> a
     65:66:boolean exceedsInstructionBudgetAfterIncrement(int):95:96 -> a
-com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo -> com.android.tools.r8.ir.optimize.t0.d:
+com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo -> com.android.tools.r8.ir.optimize.v0.d:
     java.util.List callsReceiver -> a
     com.android.tools.r8.utils.OptionalBool returnsReceiver -> b
     boolean hasMonitorOnReceiver -> c
     1:4:void <init>(java.util.List,com.android.tools.r8.utils.OptionalBool,boolean):29:32 -> <init>
-com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverAnalysis -> com.android.tools.r8.ir.optimize.t0.e:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.code.Value receiver -> d
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.ir.code.IRCode code -> c
-    com.android.tools.r8.graph.DexEncodedMethod method -> b
-    java.util.Map isReceiverAliasCache -> e
+com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverAnalysis -> com.android.tools.r8.ir.optimize.v0.e:
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.code.IRCode code -> d
+    com.android.tools.r8.ir.code.Value receiver -> e
+    com.android.tools.r8.graph.DexEncodedMethod method -> c
+    boolean $assertionsDisabled -> a
+    java.util.Map isReceiverAliasCache -> f
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):44:44 -> <init>
     2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):42:50 -> <init>
@@ -37397,13 +37426,13 @@
     74:74:com.android.tools.r8.utils.OptionalBool computeIsReceiverAlias(com.android.tools.r8.ir.code.Value):115:115 -> a
     75:75:com.android.tools.r8.utils.OptionalBool computeIsReceiverAlias(com.android.tools.r8.ir.code.Value):110:110 -> a
     1:2:com.android.tools.r8.utils.OptionalBool getOrComputeIsReceiverAlias(com.android.tools.r8.ir.code.Value):78:79 -> b
-com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet -> com.android.tools.r8.ir.optimize.t0.f:
-    java.util.Set maybeReceiverAliases -> c
-    java.util.Set illegalReceiverAliases -> d
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.ir.code.Value root -> a
-    java.util.Set definiteReceiverAliases -> b
-    java.util.Map deferredAliasValidityChecks -> e
+com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet -> com.android.tools.r8.ir.optimize.v0.f:
+    java.util.Set definiteReceiverAliases -> c
+    java.util.Set maybeReceiverAliases -> d
+    java.util.Set illegalReceiverAliases -> e
+    com.android.tools.r8.ir.code.Value root -> b
+    boolean $assertionsDisabled -> a
+    java.util.Map deferredAliasValidityChecks -> f
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value):32:32 -> <init>
     2:13:void <init>(com.android.tools.r8.ir.code.Value):23:34 -> <init>
@@ -37426,22 +37455,22 @@
     5:5:boolean verifyReceiverSetsAreDisjoint():124 -> c
     6:6:boolean verifyReceiverSetsAreDisjoint():124:124 -> c
     1:1:java.util.List lambda$addDeferredAliasValidityCheck$0(com.android.tools.r8.ir.code.Value):84:84 -> d
-com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper -> com.android.tools.r8.ir.optimize.t0.g:
-    com.android.tools.r8.ir.code.Instruction root -> c
-    com.android.tools.r8.graph.AppView appView -> d
-    com.android.tools.r8.ir.code.Value defaultValue -> e
-    com.android.tools.r8.graph.DexField field -> a
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.ir.code.IRCode code -> b
-    java.util.Map ins -> f
-    java.util.Map outs -> g
+com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper -> com.android.tools.r8.ir.optimize.v0.g:
+    com.android.tools.r8.ir.code.Instruction root -> d
+    com.android.tools.r8.ir.code.Value defaultValue -> f
+    com.android.tools.r8.graph.AppView appView -> e
+    com.android.tools.r8.graph.DexField field -> b
+    com.android.tools.r8.ir.code.IRCode code -> c
+    boolean $assertionsDisabled -> a
+    java.util.Map ins -> g
+    java.util.Map outs -> h
     1:1:void <clinit>():29:29 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):39:39 -> <init>
     2:13:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):35:46 -> <init>
     1:8:void replaceValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):50:57 -> a
     9:45:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):86:122 -> a
     46:75:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):128:157 -> a
-    76:76:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    76:76:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     76:76:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):157 -> a
     77:80:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):157:160 -> a
     81:81:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):30:30 -> a
@@ -37449,26 +37478,26 @@
     82:85:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):162:165 -> a
     1:3:com.android.tools.r8.ir.code.Value getValueForFieldRead(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):63:65 -> b
     4:16:com.android.tools.r8.ir.code.Value getOrCreateOutValue(com.android.tools.r8.ir.code.BasicBlock):69:81 -> b
-com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor -> com.android.tools.r8.ir.optimize.t0.j:
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
-    com.android.tools.r8.graph.ProgramMethod method -> f
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.List indirectInlinees -> o
-    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet receivers -> p
-    com.android.tools.r8.ir.optimize.Inliner inliner -> c
-    com.android.tools.r8.ir.code.AliasedValueConfiguration aliasesThroughAssumeAndCheckCasts -> r
-    java.util.Map directInlinees -> n
-    java.util.function.Function isClassEligible -> d
-    com.android.tools.r8.com.google.common.collect.ImmutableSet ALLOWED_ZERO_TEST_TYPES -> q
-    com.android.tools.r8.utils.collections.ProgramMethodSet indirectMethodCallsOnInstance -> k
-    boolean $assertionsDisabled -> s
-    com.android.tools.r8.graph.DexProgramClass eligibleClass -> i
-    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> e
-    com.android.tools.r8.ir.code.Instruction root -> g
-    com.android.tools.r8.ir.code.Value eligibleInstance -> h
-    java.util.Map methodCallsOnInstance -> j
-    java.util.Map extraMethodCalls -> l
-    java.util.List unusedArguments -> m
+com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor -> com.android.tools.r8.ir.optimize.v0.j:
+    com.android.tools.r8.graph.DexProgramClass eligibleClass -> l
+    java.util.Map directInlinees -> q
+    java.util.List indirectInlinees -> r
+    java.util.List unusedArguments -> p
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
+    java.util.function.Function isClassEligible -> g
+    java.util.Map methodCallsOnInstance -> m
+    com.android.tools.r8.graph.ProgramMethod method -> i
+    com.android.tools.r8.graph.AppView appView -> d
+    java.util.Map extraMethodCalls -> o
+    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> h
+    com.android.tools.r8.ir.code.Instruction root -> j
+    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet receivers -> s
+    com.android.tools.r8.ir.code.Value eligibleInstance -> k
+    com.android.tools.r8.utils.collections.ProgramMethodSet indirectMethodCallsOnInstance -> n
+    com.android.tools.r8.ir.code.AliasedValueConfiguration aliasesThroughAssumeAndCheckCasts -> b
+    com.android.tools.r8.ir.optimize.Inliner inliner -> f
+    com.android.tools.r8.com.google.common.collect.ImmutableSet ALLOWED_ZERO_TEST_TYPES -> a
+    boolean $assertionsDisabled -> c
     1:11:void <clinit>():80:90 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Function,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):125:125 -> <init>
     2:32:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Function,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):103:133 -> <init>
@@ -37491,7 +37520,7 @@
     118:118:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):319 -> a
     119:124:com.android.tools.r8.ir.optimize.Inliner$InliningInfo isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):785:790 -> a
     119:124:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):319 -> a
-    125:125:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    125:125:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     125:125:com.android.tools.r8.ir.optimize.Inliner$InliningInfo isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):790 -> a
     125:125:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):319 -> a
     126:138:com.android.tools.r8.ir.optimize.Inliner$InliningInfo isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):790:802 -> a
@@ -37523,7 +37552,7 @@
     276:284:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):398:406 -> a
     285:307:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):517:539 -> a
     285:307:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):407 -> a
-    308:308:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):272:272 -> a
+    308:308:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):219:219 -> a
     308:308:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):539 -> a
     308:308:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):407 -> a
     309:315:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):540:546 -> a
@@ -37558,7 +37587,7 @@
     469:475:boolean forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):453:459 -> a
     476:481:boolean forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):457:462 -> a
     482:508:boolean forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):461:487 -> a
-    509:509:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    509:509:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     509:509:boolean forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):487 -> a
     510:515:boolean forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):488:493 -> a
     516:528:boolean forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):489:501 -> a
@@ -37579,12 +37608,12 @@
     613:613:com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper lambda$replaceFieldRead$2(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField):710:710 -> a
     614:662:boolean isEligibleInvokeWithAllUsersAsReceivers(com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,java.util.Set):822:870 -> a
     614:662:boolean lambda$isEligibleDirectVirtualMethodCall$3(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,java.util.Set,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo):924 -> a
-    663:663:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):272:272 -> a
+    663:663:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):219:219 -> a
     663:663:boolean isEligibleInvokeWithAllUsersAsReceivers(com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,java.util.Set):870 -> a
     663:663:boolean lambda$isEligibleDirectVirtualMethodCall$3(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,java.util.Set,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo):924 -> a
     664:666:boolean isEligibleInvokeWithAllUsersAsReceivers(com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,java.util.Set):873:875 -> a
     664:666:boolean lambda$isEligibleDirectVirtualMethodCall$3(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,java.util.Set,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo):924 -> a
-    667:667:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):272:272 -> a
+    667:667:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):219:219 -> a
     667:667:boolean isEligibleInvokeWithAllUsersAsReceivers(com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,java.util.Set):875 -> a
     667:667:boolean lambda$isEligibleDirectVirtualMethodCall$3(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,java.util.Set,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo):924 -> a
     668:668:boolean isEligibleInvokeWithAllUsersAsReceivers(com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,java.util.Set):879:879 -> a
@@ -37602,7 +37631,7 @@
     834:875:boolean isEligibleParameterUsage(com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo$ParameterUsage,com.android.tools.r8.ir.code.InvokeMethod,java.util.function.Supplier):1166:1207 -> a
     876:879:boolean isInstanceInitializerEligibleForClassInlining(com.android.tools.r8.graph.DexMethod):1250:1253 -> a
     876:879:boolean isEligibleParameterUsage(com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo$ParameterUsage,com.android.tools.r8.ir.code.InvokeMethod,java.util.function.Supplier):1208 -> a
-    880:880:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    880:880:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     880:880:boolean isInstanceInitializerEligibleForClassInlining(com.android.tools.r8.graph.DexMethod):1253 -> a
     880:880:boolean isEligibleParameterUsage(com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo$ParameterUsage,com.android.tools.r8.ir.code.InvokeMethod,java.util.function.Supplier):1208 -> a
     881:882:boolean isInstanceInitializerEligibleForClassInlining(com.android.tools.r8.graph.DexMethod):1258:1259 -> a
@@ -37627,7 +37656,7 @@
     1:1:com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet getReceivers():149:149 -> d
     1:1:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isClassAndUsageEligible():208:208 -> e
     1:7:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():155:161 -> f
-    8:8:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> f
+    8:8:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> f
     8:8:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():161 -> f
     9:17:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():161:169 -> f
     18:31:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():165:178 -> f
@@ -37637,7 +37666,7 @@
     33:33:boolean com.android.tools.r8.ir.code.StaticGet.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):142 -> f
     33:33:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():178 -> f
     34:44:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():179:189 -> f
-    45:45:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> f
+    45:45:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> f
     45:45:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():189 -> f
     46:50:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():189:193 -> f
     51:51:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():186:186 -> f
@@ -37645,14 +37674,14 @@
     7:7:java.lang.Object com.android.tools.r8.utils.ListUtils.first(java.util.List):16:16 -> g
     7:7:void removeAliasIntroducingInstructionsLinkedToEligibleInstance():572 -> g
     8:21:void removeAliasIntroducingInstructionsLinkedToEligibleInstance():572:585 -> g
-com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$AliasKind -> com.android.tools.r8.ir.optimize.t0.h:
+com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$AliasKind -> com.android.tools.r8.ir.optimize.v0.h:
     com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$AliasKind MAYBE -> b
     com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$AliasKind DEFINITE -> a
     1:2:void <clinit>():83:84 -> <clinit>
     1:1:void <init>(java.lang.String,int):82:82 -> <init>
-com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$IllegalClassInlinerStateException -> com.android.tools.r8.ir.optimize.t0.i:
+com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$IllegalClassInlinerStateException -> com.android.tools.r8.ir.optimize.v0.i:
     1:1:void <init>():1309:1309 -> <init>
-com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer -> com.android.tools.r8.ir.optimize.u0.a:
+com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer -> com.android.tools.r8.ir.optimize.w0.a:
     com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer INSTANCE -> a
     boolean $assertionsDisabled -> b
     1:3:void <clinit>():13:15 -> <clinit>
@@ -37660,248 +37689,261 @@
     1:1:com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer getInstance():20:20 -> a
     2:15:boolean switchCaseIsAlwaysHit(com.android.tools.r8.ir.code.Switch,int):24:37 -> a
     1:12:boolean switchCaseIsUnreachable(com.android.tools.r8.ir.code.Switch,int):41:52 -> b
-com.android.tools.r8.ir.optimize.enums.EnumUnboxer -> com.android.tools.r8.ir.optimize.v0.f:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    java.util.Map enumsUnboxingCandidates -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean debugLogEnabled -> e
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter enumUnboxerRewriter -> d
-    boolean $assertionsDisabled -> g
-    java.util.Map debugLogs -> f
-    1:1:void <clinit>():75:75 -> <clinit>
-    1:12:void <init>(com.android.tools.r8.graph.AppView):88:99 -> <init>
-    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.ir.optimize.enums.EnumUnboxer):75:75 -> a
-    2:4:void markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason,com.android.tools.r8.graph.DexProgramClass):103:105 -> a
-    5:12:com.android.tools.r8.graph.DexProgramClass getEnumUnboxingCandidateOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):109:116 -> a
-    13:16:com.android.tools.r8.graph.DexProgramClass getEnumUnboxingCandidateOrNull(com.android.tools.r8.graph.DexType):123:126 -> a
-    17:50:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):130:163 -> a
-    51:54:void analyzeInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):212:215 -> a
-    51:54:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):163 -> a
-    55:55:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):169:169 -> a
-    56:62:void analyzeFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode):200:206 -> a
-    56:62:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):169 -> a
-    63:63:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):157:157 -> a
-    64:73:void analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set):246:255 -> a
-    64:73:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):157 -> a
-    74:82:void analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set):254:262 -> a
-    74:82:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):157 -> a
-    83:88:void analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set):261:266 -> a
-    83:88:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):157 -> a
-    89:89:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):160:160 -> a
-    90:90:void analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):225:225 -> a
-    90:90:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):160 -> a
-    91:93:boolean allowCheckCast(com.android.tools.r8.ir.code.CheckCast):237:239 -> a
-    91:93:void analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):229 -> a
-    91:93:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):160 -> a
-    94:94:boolean allowCheckCast(com.android.tools.r8.ir.code.CheckCast):238:238 -> a
-    94:94:void analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):229 -> a
-    94:94:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):160 -> a
-    95:98:void analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):230:233 -> a
-    95:98:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):160 -> a
-    99:118:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):174:193 -> a
-    119:142:void addNullDependencies(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Set):270:293 -> a
-    143:143:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):300:300 -> a
-    144:159:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):404:419 -> a
-    144:159:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):301 -> a
-    160:160:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    160:160:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):419 -> a
-    160:160:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):301 -> a
-    161:203:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):421:463 -> a
-    161:203:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):301 -> a
-    204:206:boolean isFirstInstructionAfterArguments(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):571:573 -> a
-    204:206:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):464 -> a
-    204:206:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):301 -> a
-    207:255:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):465:513 -> a
-    207:255:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):301 -> a
-    256:258:boolean allowCheckCast(com.android.tools.r8.ir.code.CheckCast):237:239 -> a
-    256:258:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):513 -> a
-    256:258:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):301 -> a
-    259:259:boolean allowCheckCast(com.android.tools.r8.ir.code.CheckCast):238:238 -> a
-    259:259:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):513 -> a
-    259:259:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):301 -> a
-    260:313:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):514:567 -> a
-    260:313:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):301 -> a
-    314:327:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):302:315 -> a
-    328:338:void unboxEnums(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):324:334 -> a
-    339:374:void unboxEnums(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):333:368 -> a
-    375:376:void reportFailure(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason):602:603 -> a
-    377:378:void synthesizeUtilityMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):619:620 -> a
-    379:381:com.android.tools.r8.utils.collections.ProgramMethodSet methodsToRevisit():626:628 -> a
-    java.util.Collection codeOptimizationsForPostProcessing() -> b
-    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter access$300(com.android.tools.r8.ir.optimize.enums.EnumUnboxer):75:75 -> b
-    2:5:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):610:613 -> b
-    1:1:com.android.tools.r8.graph.DexItemFactory access$400(com.android.tools.r8.ir.optimize.enums.EnumUnboxer):75:75 -> c
-    2:25:void finishAnalysis():372:395 -> c
-    26:33:void reportEnumsAnalysis():581:588 -> c
-    26:33:void finishAnalysis():396 -> c
-    34:49:void reportEnumsAnalysis():583:598 -> c
-    34:49:void finishAnalysis():396 -> c
-com.android.tools.r8.ir.optimize.enums.EnumUnboxer$1 -> com.android.tools.r8.ir.optimize.v0.a:
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer this$0 -> a
-    boolean $assertionsDisabled -> b
-    1:1:void <clinit>():339:339 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxer):339:339 -> <init>
-    1:8:void fixup(com.android.tools.r8.graph.DexEncodedField):342:349 -> a
-    9:17:void fixup(com.android.tools.r8.graph.DexEncodedMethod):355:363 -> a
-com.android.tools.r8.ir.optimize.enums.EnumUnboxer$EnumUnboxingLens -> com.android.tools.r8.ir.optimize.v0.c:
-    java.util.Map prototypeChanges -> a
-    boolean $assertionsDisabled -> b
-    1:1:void <clinit>():819:819 -> <clinit>
-    1:9:void <init>(java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexItemFactory,java.util.Map):832:840 -> <init>
-    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$EnumUnboxingLens$Builder builder():853:853 -> b
-    1:2:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):848:849 -> lookupPrototypeChanges
-com.android.tools.r8.ir.optimize.enums.EnumUnboxer$EnumUnboxingLens$Builder -> com.android.tools.r8.ir.optimize.v0.b:
-    java.util.Map prototypeChanges -> f
-    1:3:void <init>():856:858 -> <init>
-    4:4:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxer$1):856:856 -> <init>
-    1:16:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):862:877 -> a
-    17:17:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):876:876 -> a
-    18:29:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$EnumUnboxingLens build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLense):882:893 -> a
-com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason -> com.android.tools.r8.ir.optimize.v0.d:
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_FIELD_PUT -> z
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason UNSUPPORTED_LIBRARY_CALL -> x
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason VALUES_INVOKE -> v
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason IMPLICIT_UP_CAST_IN_RETURN -> t
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_INVOKE -> r
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_INIT -> p
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_PHI -> n
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason UNEXPECTED_DIRECT_METHOD -> l
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason UNRESOLVABLE_FIELD -> j
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason GENERIC_INVOKE -> h
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason OTHER_UNSUPPORTED_INSTRUCTION -> G
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INTERFACE -> f
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason DYNAMIC_TYPE -> E
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason DOWN_CAST -> d
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason TYPE_MISMATCH_FIELD_PUT -> C
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason ANNOTATION -> b
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_ARRAY_PUT -> A
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason MISSING_INFO_MAP -> y
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason COMPARE_TO_INVOKE -> w
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason VALUE_OF_INVOKE -> u
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_INVOKE_ON_ARRAY -> s
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_CLINIT -> q
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason NO_INIT -> o
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason CONST_CLASS -> m
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason VIRTUAL_METHOD -> k
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason UNEXPECTED_STATIC_FIELD -> i
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INSTANCE_FIELD -> g
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason ENUM_METHOD_CALLED_WITH_NULL_RECEIVER -> F
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason SUBTYPES -> e
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_IF_TYPES -> D
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason PINNED -> c
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason FIELD_PUT_ON_ENUM -> B
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason ELIGIBLE -> a
-    1:33:void <clinit>():640:672 -> <clinit>
-    1:1:void <init>(java.lang.String,int):639:639 -> <init>
-com.android.tools.r8.ir.optimize.enums.EnumUnboxer$TreeFixer -> com.android.tools.r8.ir.optimize.v0.e:
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$EnumUnboxingLens$Builder lensBuilder -> b
-    java.util.List unboxedEnumsMethods -> a
-    java.util.Set enumsToUnbox -> c
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer this$0 -> d
-    boolean $assertionsDisabled -> e
-    1:1:void <clinit>():675:675 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxer,java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumUnboxer$1):675:675 -> <init>
-    2:2:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxer,java.util.Set):681:681 -> <init>
-    3:8:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxer,java.util.Set):677:682 -> <init>
-    1:1:com.android.tools.r8.graph.GraphLense$NestedGraphLense access$100(com.android.tools.r8.ir.optimize.enums.EnumUnboxer$TreeFixer):675:675 -> a
-    2:36:com.android.tools.r8.graph.GraphLense$NestedGraphLense fixupTypeReferences():686:720 -> a
-    37:37:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):697:697 -> a
-    38:38:void clearEnumToUnboxMethod(com.android.tools.r8.graph.DexEncodedMethod):730:730 -> a
-    38:38:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):698 -> a
-    39:39:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    39:39:void clearEnumToUnboxMethod(com.android.tools.r8.graph.DexEncodedMethod):730 -> a
-    39:39:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):698 -> a
-    40:42:void clearEnumToUnboxMethod(com.android.tools.r8.graph.DexEncodedMethod):731:733 -> a
-    40:42:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):698 -> a
-    43:43:void clearEnumToUnboxMethod(com.android.tools.r8.graph.DexEncodedMethod):729:729 -> a
-    43:43:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):698 -> a
-    44:46:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):700:702 -> a
-    47:50:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethodToUtility(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):738:741 -> a
-    47:50:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):702 -> a
-    51:56:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethodToUtility(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):740:745 -> a
-    51:56:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):702 -> a
-    57:59:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):701:703 -> a
-    60:60:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod):749:749 -> a
-    61:61:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod):780:780 -> a
-    61:61:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod):749 -> a
-    62:64:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod):750:752 -> a
-    65:73:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):761:769 -> a
-    74:74:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    74:74:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):770 -> a
-    75:77:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):770:772 -> a
-    78:78:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):784:784 -> a
-    79:80:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):788:789 -> a
-    79:80:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):784 -> a
-    81:83:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):811:813 -> a
-    81:83:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):789 -> a
-    81:83:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):784 -> a
-    84:84:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):790:790 -> a
-    84:84:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):784 -> a
-    85:85:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):784:784 -> a
-    86:96:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):794:804 -> a
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis -> com.android.tools.r8.ir.optimize.v0.g:
+com.android.tools.r8.ir.optimize.enums.EnumUnboxer -> com.android.tools.r8.ir.optimize.x0.f:
     com.android.tools.r8.graph.DexItemFactory factory -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map enumToUnboxCandidates -> d
-    com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> b
-    boolean $assertionsDisabled -> e
-    1:1:void <clinit>():25:25 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxer):32:32 -> <init>
-    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxer):30:35 -> <init>
-    1:1:java.util.Map findCandidates():39:39 -> a
-    2:16:boolean isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):53:67 -> a
-    2:16:java.util.Map findCandidates():40 -> a
-    17:25:boolean enumHasBasicStaticFields(com.android.tools.r8.graph.DexProgramClass):104:112 -> a
-    17:25:boolean isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):70 -> a
-    17:25:java.util.Map findCandidates():40 -> a
-    26:43:boolean isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):71:88 -> a
-    26:43:java.util.Map findCandidates():40 -> a
-    44:44:boolean isStandardEnumInitializer(com.android.tools.r8.graph.DexEncodedMethod):97:97 -> a
-    44:44:boolean isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):88 -> a
-    44:44:java.util.Map findCandidates():40 -> a
-    45:45:boolean isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):89:89 -> a
-    45:45:java.util.Map findCandidates():40 -> a
-    46:46:java.util.Map findCandidates():41:41 -> a
-    47:47:void removeEnumsInAnnotations():123:123 -> a
-    47:47:java.util.Map findCandidates():44 -> a
-    48:48:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> a
-    48:48:void removeEnumsInAnnotations():124 -> a
-    48:48:java.util.Map findCandidates():44 -> a
-    49:49:void removeEnumsInAnnotations():125:125 -> a
-    49:49:java.util.Map findCandidates():44 -> a
-    50:50:boolean com.android.tools.r8.graph.DexTypeList.contains(com.android.tools.r8.graph.DexType):33:33 -> a
-    50:50:void removeEnumsInAnnotations():125 -> a
-    50:50:java.util.Map findCandidates():44 -> a
-    51:51:void removeEnumsInAnnotations():125:125 -> a
-    51:51:java.util.Map findCandidates():44 -> a
-    52:54:void removeEnumsInAnnotation(com.android.tools.r8.graph.DexProgramClass):134:136 -> a
-    52:54:void removeEnumsInAnnotations():126 -> a
-    52:54:java.util.Map findCandidates():44 -> a
-    55:60:void removeEnumsInAnnotation(com.android.tools.r8.graph.DexProgramClass):135:140 -> a
-    55:60:void removeEnumsInAnnotations():126 -> a
-    55:60:java.util.Map findCandidates():44 -> a
-    61:63:void removePinnedCandidates():149:151 -> a
-    61:63:java.util.Map findCandidates():45 -> a
-    64:66:void removePinnedCandidate(com.android.tools.r8.graph.DexType):175:177 -> a
-    64:66:void removePinnedCandidates():151 -> a
-    64:66:java.util.Map findCandidates():45 -> a
-    67:76:void removePinnedCandidates():152:161 -> a
-    67:76:java.util.Map findCandidates():45 -> a
-    77:80:java.util.Map findCandidates():46:49 -> a
-    81:82:void removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):168:169 -> a
-    83:85:void removePinnedCandidate(com.android.tools.r8.graph.DexType):175:177 -> a
-    83:85:void removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):170 -> a
-com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter -> com.android.tools.r8.ir.optimize.v0.h:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map utilityMethods -> d
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.graph.DexMethod valuesUtilityMethod -> i
-    com.android.tools.r8.graph.DexMethod compareToUtilityMethod -> h
-    com.android.tools.r8.graph.DexMethod equalsUtilityMethod -> g
-    com.android.tools.r8.graph.DexMethod ordinalUtilityMethod -> f
-    com.android.tools.r8.graph.EnumValueInfoMapCollection enumsToUnbox -> c
-    java.util.Map extraUtilityFields -> e
+    java.util.Map enumsUnboxingCandidates -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean debugLogEnabled -> f
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter enumUnboxerRewriter -> e
+    java.util.Map debugLogs -> g
+    1:1:void <clinit>():77:77 -> <clinit>
+    1:12:void <init>(com.android.tools.r8.graph.AppView):90:101 -> <init>
+    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.ir.optimize.enums.EnumUnboxer):77:77 -> a
+    2:4:void markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason,com.android.tools.r8.graph.DexProgramClass):105:107 -> a
+    5:12:com.android.tools.r8.graph.DexProgramClass getEnumUnboxingCandidateOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):111:118 -> a
+    13:16:com.android.tools.r8.graph.DexProgramClass getEnumUnboxingCandidateOrNull(com.android.tools.r8.graph.DexType):125:128 -> a
+    17:50:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):132:165 -> a
+    51:54:void analyzeInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):214:217 -> a
+    51:54:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):165 -> a
+    55:55:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):171:171 -> a
+    56:62:void analyzeFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode):202:208 -> a
+    56:62:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):171 -> a
+    63:63:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):159:159 -> a
+    64:73:void analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set):248:257 -> a
+    64:73:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):159 -> a
+    74:82:void analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set):256:264 -> a
+    74:82:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):159 -> a
+    83:88:void analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set):263:268 -> a
+    83:88:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):159 -> a
+    89:89:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):162:162 -> a
+    90:90:void analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):227:227 -> a
+    90:90:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):162 -> a
+    91:93:boolean allowCheckCast(com.android.tools.r8.ir.code.CheckCast):239:241 -> a
+    91:93:void analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):231 -> a
+    91:93:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):162 -> a
+    94:94:boolean allowCheckCast(com.android.tools.r8.ir.code.CheckCast):240:240 -> a
+    94:94:void analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):231 -> a
+    94:94:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):162 -> a
+    95:98:void analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):232:235 -> a
+    95:98:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):162 -> a
+    99:118:void analyzeEnums(com.android.tools.r8.ir.code.IRCode):176:195 -> a
+    119:142:void addNullDependencies(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Set):272:295 -> a
+    143:143:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):302:302 -> a
+    144:159:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):423:438 -> a
+    144:159:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):303 -> a
+    160:160:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    160:160:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):438 -> a
+    160:160:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):303 -> a
+    161:163:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):440:440 -> a
+    161:163:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):303 -> a
+    166:216:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):443:493 -> a
+    166:216:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):303 -> a
+    217:219:boolean isFirstInstructionAfterArguments(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):601:603 -> a
+    217:219:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):494 -> a
+    217:219:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):303 -> a
+    220:268:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):495:543 -> a
+    220:268:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):303 -> a
+    269:271:boolean allowCheckCast(com.android.tools.r8.ir.code.CheckCast):239:241 -> a
+    269:271:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):543 -> a
+    269:271:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):303 -> a
+    272:272:boolean allowCheckCast(com.android.tools.r8.ir.code.CheckCast):240:240 -> a
+    272:272:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):543 -> a
+    272:272:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):303 -> a
+    273:326:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):544:597 -> a
+    273:326:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):303 -> a
+    327:340:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):304:317 -> a
+    341:353:void unboxEnums(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):326:338 -> a
+    354:389:void unboxEnums(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):337:372 -> a
+    390:393:void updatePinnedItems(java.util.Set):376:379 -> a
+    394:395:void lambda$updatePinnedItems$1(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):381:382 -> a
+    396:396:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    396:396:void lambda$updatePinnedItems$1(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):382 -> a
+    397:400:void lambda$updatePinnedItems$1(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):382:385 -> a
+    401:401:void lambda$updatePinnedItems$0(com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):385:385 -> a
+    402:403:void reportFailure(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason):632:633 -> a
+    404:405:void synthesizeUtilityMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):649:650 -> a
+    406:408:com.android.tools.r8.utils.collections.ProgramMethodSet methodsToRevisit():656:658 -> a
+    java.util.Collection codeOptimizationsForPostProcessing() -> b
+    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter access$300(com.android.tools.r8.ir.optimize.enums.EnumUnboxer):77:77 -> b
+    2:5:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):640:643 -> b
+    1:1:com.android.tools.r8.graph.DexItemFactory access$400(com.android.tools.r8.ir.optimize.enums.EnumUnboxer):77:77 -> c
+    2:25:void finishAnalysis():391:414 -> c
+    26:33:void reportEnumsAnalysis():611:618 -> c
+    26:33:void finishAnalysis():415 -> c
+    34:49:void reportEnumsAnalysis():613:628 -> c
+    34:49:void finishAnalysis():415 -> c
+com.android.tools.r8.ir.optimize.enums.EnumUnboxer$1 -> com.android.tools.r8.ir.optimize.x0.a:
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer this$0 -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():343:343 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxer):343:343 -> <init>
+    1:8:void fixup(com.android.tools.r8.graph.DexEncodedField):346:353 -> a
+    9:17:void fixup(com.android.tools.r8.graph.DexEncodedMethod):359:367 -> a
+com.android.tools.r8.ir.optimize.enums.EnumUnboxer$EnumUnboxingLens -> com.android.tools.r8.ir.optimize.x0.c:
+    java.util.Map prototypeChanges -> b
+    java.util.Set unboxedEnums -> c
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():855:855 -> <clinit>
+    1:10:void <init>(java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexItemFactory,java.util.Map,java.util.Set):870:879 -> <init>
+    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$EnumUnboxingLens$Builder builder():903:903 -> b
+    1:2:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):887:888 -> lookupPrototypeChanges
+    1:4:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):894:897 -> mapInvocationType
+com.android.tools.r8.ir.optimize.enums.EnumUnboxer$EnumUnboxingLens$Builder -> com.android.tools.r8.ir.optimize.x0.b:
+    boolean $assertionsDisabled -> f
+    java.util.Map prototypeChanges -> g
+    1:1:void <clinit>():906:906 -> <clinit>
+    1:3:void <init>():906:908 -> <init>
+    4:4:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxer$1):906:906 -> <init>
+    1:24:void move(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethod,boolean):912:935 -> a
+    25:25:void move(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethod,boolean):934:934 -> a
+    26:38:com.android.tools.r8.ir.optimize.enums.EnumUnboxer$EnumUnboxingLens build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLense,java.util.Set):940:952 -> a
+com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason -> com.android.tools.r8.ir.optimize.x0.d:
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_ARRAY_PUT -> z
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason MISSING_INFO_MAP -> x
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason COMPARE_TO_INVOKE -> v
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason VALUE_OF_INVOKE -> t
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_INVOKE_ON_ARRAY -> r
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_CLINIT -> p
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason NO_INIT -> n
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason CONST_CLASS -> l
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason UNEXPECTED_STATIC_FIELD -> j
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason GENERIC_INVOKE -> h
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INTERFACE -> f
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason ENUM_METHOD_CALLED_WITH_NULL_RECEIVER -> E
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason DOWN_CAST -> d
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_IF_TYPES -> C
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason ANNOTATION -> b
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason FIELD_PUT_ON_ENUM -> A
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_FIELD_PUT -> y
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason UNSUPPORTED_LIBRARY_CALL -> w
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason VALUES_INVOKE -> u
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason IMPLICIT_UP_CAST_IN_RETURN -> s
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_INVOKE -> q
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_INIT -> o
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INVALID_PHI -> m
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason UNRESOLVABLE_FIELD -> k
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason DEFAULT_METHOD_INVOKE -> i
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason INSTANCE_FIELD -> g
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason OTHER_UNSUPPORTED_INSTRUCTION -> F
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason SUBTYPES -> e
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason DYNAMIC_TYPE -> D
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason PINNED -> c
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason TYPE_MISMATCH_FIELD_PUT -> B
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$Reason ELIGIBLE -> a
+    1:32:void <clinit>():670:701 -> <clinit>
+    1:1:void <init>(java.lang.String,int):669:669 -> <init>
+com.android.tools.r8.ir.optimize.enums.EnumUnboxer$TreeFixer -> com.android.tools.r8.ir.optimize.x0.e:
+    java.util.List unboxedEnumsMethods -> b
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer$EnumUnboxingLens$Builder lensBuilder -> c
+    java.util.Set enumsToUnbox -> d
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer this$0 -> e
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():704:704 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxer,java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumUnboxer$1):704:704 -> <init>
+    2:2:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxer,java.util.Set):710:710 -> <init>
+    3:8:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxer,java.util.Set):706:711 -> <init>
+    1:1:com.android.tools.r8.graph.GraphLense$NestedGraphLense access$100(com.android.tools.r8.ir.optimize.enums.EnumUnboxer$TreeFixer):704:704 -> a
+    2:35:com.android.tools.r8.graph.GraphLense$NestedGraphLense fixupTypeReferences():715:748 -> a
+    36:36:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):726:726 -> a
+    37:37:void clearEnumToUnboxMethod(com.android.tools.r8.graph.DexEncodedMethod):757:757 -> a
+    37:37:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):727 -> a
+    38:38:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    38:38:com.android.tools.r8.graph.Code com.android.tools.r8.graph.DexEncodedMethod.buildEmptyThrowingCode(com.android.tools.r8.utils.InternalOptions):807 -> a
+    38:38:void clearEnumToUnboxMethod(com.android.tools.r8.graph.DexEncodedMethod):757 -> a
+    38:38:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):727 -> a
+    39:40:com.android.tools.r8.graph.Code com.android.tools.r8.graph.DexEncodedMethod.buildEmptyThrowingCode(com.android.tools.r8.utils.InternalOptions):808:809 -> a
+    39:40:void clearEnumToUnboxMethod(com.android.tools.r8.graph.DexEncodedMethod):757 -> a
+    39:40:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):727 -> a
+    41:41:void clearEnumToUnboxMethod(com.android.tools.r8.graph.DexEncodedMethod):757:757 -> a
+    41:41:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):727 -> a
+    42:43:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):729:730 -> a
+    44:51:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethodToUtility(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):762:769 -> a
+    44:51:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):730 -> a
+    52:66:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethodToUtility(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):764:778 -> a
+    52:66:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):730 -> a
+    67:67:void com.android.tools.r8.graph.DexEncodedMethod.clearParameterAnnotations():709:709 -> a
+    67:67:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethodToUtility(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):779 -> a
+    67:67:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):730 -> a
+    68:68:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethodToUtility(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):780:780 -> a
+    68:68:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):730 -> a
+    69:71:void lambda$fixupTypeReferences$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):729:731 -> a
+    72:72:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod):784:784 -> a
+    73:73:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod):816:816 -> a
+    73:73:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod):784 -> a
+    74:74:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):820:820 -> a
+    74:74:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod):816 -> a
+    74:74:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod):784 -> a
+    75:78:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod):785:788 -> a
+    79:87:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):797:805 -> a
+    88:88:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
+    88:88:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):806 -> a
+    89:91:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):806:808 -> a
+    92:93:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):824:825 -> a
+    94:96:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):847:849 -> a
+    94:96:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):825 -> a
+    97:97:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):826:826 -> a
+    98:108:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):830:840 -> a
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis -> com.android.tools.r8.ir.optimize.x0.g:
+    com.android.tools.r8.graph.DexItemFactory factory -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> c
+    boolean $assertionsDisabled -> a
+    java.util.Map enumToUnboxCandidates -> e
+    1:1:void <clinit>():23:23 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxer):30:30 -> <init>
+    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxer):28:33 -> <init>
+    1:1:java.util.Map findCandidates():37:37 -> a
+    2:10:boolean isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):51:59 -> a
+    2:10:java.util.Map findCandidates():38 -> a
+    11:19:boolean enumHasBasicStaticFields(com.android.tools.r8.graph.DexProgramClass):92:100 -> a
+    11:19:boolean isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):62 -> a
+    11:19:java.util.Map findCandidates():38 -> a
+    20:33:boolean isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):63:76 -> a
+    20:33:java.util.Map findCandidates():38 -> a
+    34:34:boolean isStandardEnumInitializer(com.android.tools.r8.graph.DexEncodedMethod):85:85 -> a
+    34:34:boolean isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):76 -> a
+    34:34:java.util.Map findCandidates():38 -> a
+    35:35:boolean isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):77:77 -> a
+    35:35:java.util.Map findCandidates():38 -> a
+    36:36:java.util.Map findCandidates():39:39 -> a
+    37:37:void removeEnumsInAnnotations():111:111 -> a
+    37:37:java.util.Map findCandidates():42 -> a
+    38:38:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> a
+    38:38:void removeEnumsInAnnotations():112 -> a
+    38:38:java.util.Map findCandidates():42 -> a
+    39:39:void removeEnumsInAnnotations():113:113 -> a
+    39:39:java.util.Map findCandidates():42 -> a
+    40:40:boolean com.android.tools.r8.graph.DexTypeList.contains(com.android.tools.r8.graph.DexType):33:33 -> a
+    40:40:void removeEnumsInAnnotations():113 -> a
+    40:40:java.util.Map findCandidates():42 -> a
+    41:41:void removeEnumsInAnnotations():113:113 -> a
+    41:41:java.util.Map findCandidates():42 -> a
+    42:44:void removeEnumsInAnnotation(com.android.tools.r8.graph.DexProgramClass):122:124 -> a
+    42:44:void removeEnumsInAnnotations():114 -> a
+    42:44:java.util.Map findCandidates():42 -> a
+    45:50:void removeEnumsInAnnotation(com.android.tools.r8.graph.DexProgramClass):123:128 -> a
+    45:50:void removeEnumsInAnnotations():114 -> a
+    45:50:java.util.Map findCandidates():42 -> a
+    51:55:java.util.Map findCandidates():43:47 -> a
+    56:56:void lambda$removePinnedCandidates$0(com.android.tools.r8.graph.DexField):139:139 -> a
+    57:60:void lambda$removePinnedCandidates$1(com.android.tools.r8.graph.DexMethod):142:145 -> a
+    61:62:void removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):151:152 -> a
+    63:65:void removePinnedCandidate(com.android.tools.r8.graph.DexType):158:160 -> a
+    63:65:void removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):153 -> a
+    66:68:void removePinnedCandidate(com.android.tools.r8.graph.DexType):158:160 -> a
+    1:4:void removePinnedCandidates():137:140 -> b
+com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter -> com.android.tools.r8.ir.optimize.x0.h:
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.graph.DexMethod valuesUtilityMethod -> j
+    com.android.tools.r8.graph.DexMethod compareToUtilityMethod -> i
+    com.android.tools.r8.graph.DexMethod equalsUtilityMethod -> h
+    com.android.tools.r8.graph.EnumValueInfoMapCollection enumsToUnbox -> d
+    com.android.tools.r8.graph.DexMethod ordinalUtilityMethod -> g
+    boolean $assertionsDisabled -> a
+    java.util.Map utilityMethods -> e
+    java.util.Map extraUtilityFields -> f
     1:1:void <clinit>():59:59 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):76:76 -> <init>
     2:23:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):68:89 -> <init>
@@ -37911,191 +37953,200 @@
     49:49:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):103:103 -> <init>
     1:1:com.android.tools.r8.graph.EnumValueInfoMapCollection getEnumsToUnbox():110:110 -> a
     2:7:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):116:121 -> a
-    8:1022:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1014 -> a
-    8:1022:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):122 -> a
-    1023:1030:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):123:130 -> a
-    1031:1039:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):260:268 -> a
-    1031:1039:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):130 -> a
-    1040:1057:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):132:149 -> a
-    1058:1058:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    1058:1058:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):147 -> a
-    1059:1071:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):154:166 -> a
-    1072:1072:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    1072:1072:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):166 -> a
-    1073:1079:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):167:173 -> a
-    1080:1080:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    1080:1080:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):174 -> a
-    1081:1101:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):175:195 -> a
-    1102:1106:com.android.tools.r8.graph.DexField createValuesField(com.android.tools.r8.graph.DexType):276:276 -> a
-    1102:1106:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):197 -> a
-    1107:1107:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):198:198 -> a
-    1108:1112:com.android.tools.r8.graph.DexMethod createValuesMethod(com.android.tools.r8.graph.DexType):292:292 -> a
-    1108:1112:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):199 -> a
-    1113:1118:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):200:205 -> a
-    1119:1119:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    1119:1119:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):204 -> a
-    1120:1121:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):206:207 -> a
-    1122:1122:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    1122:1122:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):208 -> a
-    1123:1128:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):209:214 -> a
-    1129:1129:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
-    1129:1129:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):214 -> a
-    1130:1130:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    1130:1130:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):215 -> a
-    1131:1137:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):216:222 -> a
-    1138:1151:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.ArrayAccess):334:347 -> a
-    1138:1151:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):223 -> a
-    1152:1152:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):225:225 -> a
-    1153:1153:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    1153:1153:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):226 -> a
-    1154:1156:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):227:229 -> a
-    1157:1164:boolean validateArrayAccess(com.android.tools.r8.ir.code.ArrayAccess):248:255 -> a
-    1157:1164:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):229 -> a
-    1165:1165:boolean validateArrayAccess(com.android.tools.r8.ir.code.ArrayAccess):253:253 -> a
-    1165:1165:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):229 -> a
-    1166:1166:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):232:232 -> a
-    1167:1167:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$4(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap,com.android.tools.r8.graph.DexMethod):202:202 -> a
-    1168:1176:com.android.tools.r8.graph.DexEncodedMethod computeValuesEncodedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,int):300:308 -> a
-    1168:1176:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$4(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap,com.android.tools.r8.graph.DexMethod):202 -> a
-    1177:1179:void replaceEnumInvoke(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexMethod,java.util.function.Function):241:243 -> a
-    1180:1180:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    1180:1180:void replaceEnumInvoke(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexMethod,java.util.function.Function):244 -> a
-    1181:1181:java.lang.String compatibleName(com.android.tools.r8.graph.DexType):272:272 -> a
-    1182:1186:com.android.tools.r8.graph.DexEncodedField computeValuesEncodedField(com.android.tools.r8.graph.DexField):283:287 -> a
-    1187:1200:void synthesizeEnumUnboxingUtilityMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):355:368 -> a
-    1201:1202:boolean utilityClassInMainDexList():423:424 -> a
-    1201:1202:void synthesizeEnumUnboxingUtilityMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):369 -> a
-    1203:1206:void synthesizeEnumUnboxingUtilityMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):370:373 -> a
-    1207:1207:int lambda$synthesizeEnumUnboxingUtilityMethods$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):357:357 -> a
-    1208:1208:int lambda$synthesizeEnumUnboxingUtilityMethods$8(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):362:362 -> a
-    1209:1227:com.android.tools.r8.graph.DexProgramClass synthesizeEmptyEnumUnboxingUtilityClass(com.android.tools.r8.graph.AppView):377:395 -> a
-    1228:1235:com.android.tools.r8.graph.DexEncodedMethod synthesizeToStringUtilityMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):400:407 -> a
-    1228:1235:com.android.tools.r8.graph.DexEncodedMethod lambda$computeDefaultToStringUtilityMethod$6(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):329 -> a
-    1236:1237:com.android.tools.r8.graph.DexEncodedMethod synthesizeOrdinalMethod():432:433 -> a
-    1236:1237:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$0(com.android.tools.r8.graph.DexMethod):134 -> a
-    1238:1258:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):122:142 -> a
-    1238:1258:com.android.tools.r8.graph.DexEncodedMethod synthesizeOrdinalMethod():433 -> a
-    1238:1258:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$0(com.android.tools.r8.graph.DexMethod):134 -> a
-    1259:1259:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):139:139 -> a
-    1259:1259:com.android.tools.r8.graph.DexEncodedMethod synthesizeOrdinalMethod():433 -> a
-    1259:1259:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$0(com.android.tools.r8.graph.DexMethod):134 -> a
-    1260:1282:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):130:152 -> a
-    1260:1282:com.android.tools.r8.graph.DexEncodedMethod synthesizeOrdinalMethod():433 -> a
-    1260:1282:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$0(com.android.tools.r8.graph.DexMethod):134 -> a
-    1283:1283:com.android.tools.r8.graph.DexEncodedMethod synthesizeOrdinalMethod():434:434 -> a
-    1283:1283:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$0(com.android.tools.r8.graph.DexMethod):134 -> a
-    1284:1284:com.android.tools.r8.graph.DexEncodedMethod synthesizeUtilityMethod(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod,boolean):457:457 -> a
-    1285:1285:com.android.tools.r8.graph.MethodAccessFlags synthesizedMethodAccessFlags(boolean):472:472 -> a
-    1285:1285:com.android.tools.r8.graph.DexEncodedMethod synthesizeUtilityMethod(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod,boolean):459 -> a
-    1286:1287:com.android.tools.r8.graph.DexEncodedMethod synthesizeUtilityMethod(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod,boolean):460:461 -> a
-    1:6:com.android.tools.r8.graph.DexMethod computeDefaultToStringUtilityMethod(com.android.tools.r8.graph.DexType):323:328 -> b
-    7:11:com.android.tools.r8.graph.DexMethod computeDefaultToStringUtilityMethod(com.android.tools.r8.graph.DexType):325:329 -> b
-    12:19:com.android.tools.r8.graph.DexEncodedMethod synthesizeValueOfUtilityMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):411:418 -> b
-    12:19:com.android.tools.r8.graph.DexEncodedMethod lambda$computeValueOfUtilityMethod$5(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):318 -> b
-    20:21:com.android.tools.r8.graph.DexEncodedMethod synthesizeEqualsMethod():438:439 -> b
-    20:21:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$1(com.android.tools.r8.graph.DexMethod):138 -> b
+    8:1026:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1018 -> a
+    8:1026:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):122 -> a
+    1027:1034:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):123:130 -> a
+    1035:1043:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):261:269 -> a
+    1035:1043:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):130 -> a
+    1044:1062:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):132:150 -> a
+    1063:1063:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    1063:1063:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):148 -> a
+    1064:1097:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):134:167 -> a
+    1098:1098:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    1098:1098:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):167 -> a
+    1099:1105:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):168:174 -> a
+    1106:1106:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    1106:1106:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):175 -> a
+    1107:1127:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):176:196 -> a
+    1128:1132:com.android.tools.r8.graph.DexField createValuesField(com.android.tools.r8.graph.DexType):277:277 -> a
+    1128:1132:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):198 -> a
+    1133:1133:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):199:199 -> a
+    1134:1138:com.android.tools.r8.graph.DexMethod createValuesMethod(com.android.tools.r8.graph.DexType):293:293 -> a
+    1134:1138:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):200 -> a
+    1139:1144:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):201:206 -> a
+    1145:1145:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    1145:1145:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):205 -> a
+    1146:1147:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):207:208 -> a
+    1148:1148:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    1148:1148:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):209 -> a
+    1149:1154:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):210:215 -> a
+    1155:1155:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1119:1119 -> a
+    1155:1155:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):215 -> a
+    1156:1156:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    1156:1156:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):216 -> a
+    1157:1163:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):217:223 -> a
+    1164:1177:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.ArrayAccess):335:348 -> a
+    1164:1177:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):224 -> a
+    1178:1178:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):226:226 -> a
+    1179:1179:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    1179:1179:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):227 -> a
+    1180:1182:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):228:230 -> a
+    1183:1190:boolean validateArrayAccess(com.android.tools.r8.ir.code.ArrayAccess):249:256 -> a
+    1183:1190:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):230 -> a
+    1191:1191:boolean validateArrayAccess(com.android.tools.r8.ir.code.ArrayAccess):254:254 -> a
+    1191:1191:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):230 -> a
+    1192:1192:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode):233:233 -> a
+    1193:1193:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$4(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap,com.android.tools.r8.graph.DexMethod):203:203 -> a
+    1194:1202:com.android.tools.r8.graph.DexEncodedMethod computeValuesEncodedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,int):301:309 -> a
+    1194:1202:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$4(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap,com.android.tools.r8.graph.DexMethod):203 -> a
+    1203:1205:void replaceEnumInvoke(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexMethod,java.util.function.Function):242:244 -> a
+    1206:1206:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    1206:1206:void replaceEnumInvoke(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexMethod,java.util.function.Function):245 -> a
+    1207:1207:java.lang.String compatibleName(com.android.tools.r8.graph.DexType):273:273 -> a
+    1208:1212:com.android.tools.r8.graph.DexEncodedField computeValuesEncodedField(com.android.tools.r8.graph.DexField):284:288 -> a
+    1213:1226:void synthesizeEnumUnboxingUtilityMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):356:369 -> a
+    1227:1228:boolean utilityClassInMainDexList():424:425 -> a
+    1227:1228:void synthesizeEnumUnboxingUtilityMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):370 -> a
+    1229:1232:void synthesizeEnumUnboxingUtilityMethods(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):371:374 -> a
+    1233:1233:int lambda$synthesizeEnumUnboxingUtilityMethods$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):358:358 -> a
+    1234:1234:int lambda$synthesizeEnumUnboxingUtilityMethods$8(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):363:363 -> a
+    1235:1253:com.android.tools.r8.graph.DexProgramClass synthesizeEmptyEnumUnboxingUtilityClass(com.android.tools.r8.graph.AppView):378:396 -> a
+    1254:1261:com.android.tools.r8.graph.DexEncodedMethod synthesizeToStringUtilityMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):401:408 -> a
+    1254:1261:com.android.tools.r8.graph.DexEncodedMethod lambda$computeDefaultToStringUtilityMethod$6(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):330 -> a
+    1262:1263:com.android.tools.r8.graph.DexEncodedMethod synthesizeOrdinalMethod():433:434 -> a
+    1262:1263:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$0(com.android.tools.r8.graph.DexMethod):135 -> a
+    1264:1284:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):122:142 -> a
+    1264:1284:com.android.tools.r8.graph.DexEncodedMethod synthesizeOrdinalMethod():434 -> a
+    1264:1284:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$0(com.android.tools.r8.graph.DexMethod):135 -> a
+    1285:1285:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):139:139 -> a
+    1285:1285:com.android.tools.r8.graph.DexEncodedMethod synthesizeOrdinalMethod():434 -> a
+    1285:1285:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$0(com.android.tools.r8.graph.DexMethod):135 -> a
+    1286:1308:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):130:152 -> a
+    1286:1308:com.android.tools.r8.graph.DexEncodedMethod synthesizeOrdinalMethod():434 -> a
+    1286:1308:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$0(com.android.tools.r8.graph.DexMethod):135 -> a
+    1309:1309:com.android.tools.r8.graph.DexEncodedMethod synthesizeOrdinalMethod():435:435 -> a
+    1309:1309:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$0(com.android.tools.r8.graph.DexMethod):135 -> a
+    1310:1310:com.android.tools.r8.graph.DexEncodedMethod synthesizeUtilityMethod(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod,boolean):458:458 -> a
+    1311:1311:com.android.tools.r8.graph.MethodAccessFlags synthesizedMethodAccessFlags(boolean):473:473 -> a
+    1311:1311:com.android.tools.r8.graph.DexEncodedMethod synthesizeUtilityMethod(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod,boolean):460 -> a
+    1312:1313:com.android.tools.r8.graph.DexEncodedMethod synthesizeUtilityMethod(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod,boolean):461:462 -> a
+    1:6:com.android.tools.r8.graph.DexMethod computeDefaultToStringUtilityMethod(com.android.tools.r8.graph.DexType):324:329 -> b
+    7:11:com.android.tools.r8.graph.DexMethod computeDefaultToStringUtilityMethod(com.android.tools.r8.graph.DexType):326:330 -> b
+    12:19:com.android.tools.r8.graph.DexEncodedMethod synthesizeValueOfUtilityMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):412:419 -> b
+    12:19:com.android.tools.r8.graph.DexEncodedMethod lambda$computeValueOfUtilityMethod$5(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):319 -> b
+    20:21:com.android.tools.r8.graph.DexEncodedMethod synthesizeEqualsMethod():439:440 -> b
+    20:21:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$1(com.android.tools.r8.graph.DexMethod):139 -> b
     22:44:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):81:103 -> b
-    22:44:com.android.tools.r8.graph.DexEncodedMethod synthesizeEqualsMethod():439 -> b
-    22:44:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$1(com.android.tools.r8.graph.DexMethod):138 -> b
+    22:44:com.android.tools.r8.graph.DexEncodedMethod synthesizeEqualsMethod():440 -> b
+    22:44:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$1(com.android.tools.r8.graph.DexMethod):139 -> b
     45:45:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):100:100 -> b
-    45:45:com.android.tools.r8.graph.DexEncodedMethod synthesizeEqualsMethod():439 -> b
-    45:45:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$1(com.android.tools.r8.graph.DexMethod):138 -> b
+    45:45:com.android.tools.r8.graph.DexEncodedMethod synthesizeEqualsMethod():440 -> b
+    45:45:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$1(com.android.tools.r8.graph.DexMethod):139 -> b
     46:73:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):91:118 -> b
-    46:73:com.android.tools.r8.graph.DexEncodedMethod synthesizeEqualsMethod():439 -> b
-    46:73:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$1(com.android.tools.r8.graph.DexMethod):138 -> b
-    74:74:com.android.tools.r8.graph.DexEncodedMethod synthesizeEqualsMethod():440:440 -> b
-    74:74:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$1(com.android.tools.r8.graph.DexMethod):138 -> b
-    1:6:com.android.tools.r8.graph.DexMethod computeValueOfUtilityMethod(com.android.tools.r8.graph.DexType):312:317 -> c
-    7:11:com.android.tools.r8.graph.DexMethod computeValueOfUtilityMethod(com.android.tools.r8.graph.DexType):314:318 -> c
-    12:14:com.android.tools.r8.graph.DexEncodedMethod synthesizeCompareToMethod():444:446 -> c
-    12:14:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$2(com.android.tools.r8.graph.DexMethod):142 -> c
+    46:73:com.android.tools.r8.graph.DexEncodedMethod synthesizeEqualsMethod():440 -> b
+    46:73:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$1(com.android.tools.r8.graph.DexMethod):139 -> b
+    74:74:com.android.tools.r8.graph.DexEncodedMethod synthesizeEqualsMethod():441:441 -> b
+    74:74:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$1(com.android.tools.r8.graph.DexMethod):139 -> b
+    1:6:com.android.tools.r8.graph.DexMethod computeValueOfUtilityMethod(com.android.tools.r8.graph.DexType):313:318 -> c
+    7:11:com.android.tools.r8.graph.DexMethod computeValueOfUtilityMethod(com.android.tools.r8.graph.DexType):315:319 -> c
+    12:14:com.android.tools.r8.graph.DexEncodedMethod synthesizeCompareToMethod():445:447 -> c
+    12:14:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$2(com.android.tools.r8.graph.DexMethod):143 -> c
     15:37:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):45:67 -> c
-    15:37:com.android.tools.r8.graph.DexEncodedMethod synthesizeCompareToMethod():445 -> c
-    15:37:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$2(com.android.tools.r8.graph.DexMethod):142 -> c
+    15:37:com.android.tools.r8.graph.DexEncodedMethod synthesizeCompareToMethod():446 -> c
+    15:37:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$2(com.android.tools.r8.graph.DexMethod):143 -> c
     38:38:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):64:64 -> c
-    38:38:com.android.tools.r8.graph.DexEncodedMethod synthesizeCompareToMethod():445 -> c
-    38:38:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$2(com.android.tools.r8.graph.DexMethod):142 -> c
+    38:38:com.android.tools.r8.graph.DexEncodedMethod synthesizeCompareToMethod():446 -> c
+    38:38:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$2(com.android.tools.r8.graph.DexMethod):143 -> c
     39:63:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):53:77 -> c
-    39:63:com.android.tools.r8.graph.DexEncodedMethod synthesizeCompareToMethod():445 -> c
-    39:63:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$2(com.android.tools.r8.graph.DexMethod):142 -> c
-    64:64:com.android.tools.r8.graph.DexEncodedMethod synthesizeCompareToMethod():447:447 -> c
-    64:64:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$2(com.android.tools.r8.graph.DexMethod):142 -> c
-    1:2:com.android.tools.r8.graph.DexEncodedMethod synthesizeValuesUtilityMethod():451:452 -> d
-    1:2:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$3(com.android.tools.r8.graph.DexMethod):196 -> d
+    39:63:com.android.tools.r8.graph.DexEncodedMethod synthesizeCompareToMethod():446 -> c
+    39:63:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$2(com.android.tools.r8.graph.DexMethod):143 -> c
+    64:64:com.android.tools.r8.graph.DexEncodedMethod synthesizeCompareToMethod():448:448 -> c
+    64:64:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$2(com.android.tools.r8.graph.DexMethod):143 -> c
+    1:2:com.android.tools.r8.graph.DexEncodedMethod synthesizeValuesUtilityMethod():452:453 -> d
+    1:2:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$3(com.android.tools.r8.graph.DexMethod):197 -> d
     3:42:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods.EnumUnboxingMethods_values(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):156:195 -> d
-    3:42:com.android.tools.r8.graph.DexEncodedMethod synthesizeValuesUtilityMethod():452 -> d
-    3:42:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$3(com.android.tools.r8.graph.DexMethod):196 -> d
-    43:43:com.android.tools.r8.graph.DexEncodedMethod synthesizeValuesUtilityMethod():453:453 -> d
-    43:43:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$3(com.android.tools.r8.graph.DexMethod):196 -> d
-com.android.tools.r8.ir.optimize.enums.EnumValueInfoMapCollector -> com.android.tools.r8.ir.optimize.v0.i:
+    3:42:com.android.tools.r8.graph.DexEncodedMethod synthesizeValuesUtilityMethod():453 -> d
+    3:42:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$3(com.android.tools.r8.graph.DexMethod):197 -> d
+    43:43:com.android.tools.r8.graph.DexEncodedMethod synthesizeValuesUtilityMethod():454:454 -> d
+    43:43:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteCode$3(com.android.tools.r8.graph.DexMethod):197 -> d
+com.android.tools.r8.ir.optimize.enums.EnumValueInfoMapCollector -> com.android.tools.r8.ir.optimize.x0.i:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.EnumValueInfoMapCollection$Builder valueInfoMapsBuilder -> b
     1:1:void <init>(com.android.tools.r8.graph.AppView):37:37 -> <init>
     2:5:void <init>(com.android.tools.r8.graph.AppView):35:38 -> <init>
     1:8:com.android.tools.r8.shaking.AppInfoWithLiveness run():42:49 -> a
     9:47:void processClasses(com.android.tools.r8.graph.DexProgramClass):54:92 -> a
-com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer -> com.android.tools.r8.ir.optimize.v0.l:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> c
-    1:1:void <clinit>():46:46 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.graph.AppView):51:53 -> <init>
-    1:4:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):167:170 -> a
-    5:16:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):317:328 -> a
-    5:16:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):176 -> a
-    17:17:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    17:17:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):328 -> a
-    17:17:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):176 -> a
-    18:47:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):329:358 -> a
-    18:47:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):176 -> a
-    48:66:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):181:199 -> a
+com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer -> com.android.tools.r8.ir.optimize.x0.l:
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():49:49 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.graph.AppView):54:56 -> <init>
+    1:4:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):182:185 -> a
+    5:16:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):332:343 -> a
+    5:16:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):191 -> a
+    17:17:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    17:17:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):343 -> a
+    17:17:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):191 -> a
+    18:47:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):344:373 -> a
+    18:47:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):191 -> a
+    48:66:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):196:214 -> a
     67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):152:152 -> a
-    67:67:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):199 -> a
-    68:68:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):207:207 -> a
+    67:67:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):214 -> a
+    68:68:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):222:222 -> a
     69:71:int[] com.android.tools.r8.utils.ArrayUtils.fromPredicate(java.util.function.IntPredicate,int):128:130 -> a
-    69:71:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):208 -> a
-    72:80:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):220:228 -> a
+    69:71:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):223 -> a
+    72:80:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):235:243 -> a
     81:81:void com.android.tools.r8.utils.ArrayUtils.sumOfPredecessorsInclusive(int[]):137:137 -> a
-    81:81:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):232 -> a
-    82:84:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):233:235 -> a
-    85:91:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):234:240 -> a
+    81:81:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):247 -> a
+    82:84:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):248:250 -> a
+    85:91:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):249:255 -> a
     92:92:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray(int[]):167:167 -> a
     92:92:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray():155 -> a
-    92:92:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):240 -> a
-    93:100:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):241:248 -> a
-    101:101:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296:296 -> a
-    101:101:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):251 -> a
+    92:92:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):255 -> a
+    93:100:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):256:263 -> a
+    101:101:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291:291 -> a
+    101:101:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):266 -> a
     102:102:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    102:102:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296 -> a
-    102:102:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):251 -> a
-    103:119:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):255:271 -> a
+    102:102:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291 -> a
+    102:102:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):266 -> a
+    103:119:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):270:286 -> a
     120:120:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    120:120:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):271 -> a
-    121:121:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):271:271 -> a
-    122:123:boolean lambda$removeSwitchMaps$0(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.ir.code.IntSwitch,int):213:214 -> a
-    124:124:void lambda$removeSwitchMaps$1(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):257:257 -> a
-    1:3:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):58:60 -> b
-    4:4:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> b
-    4:4:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):64 -> b
-    5:44:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):65:104 -> b
-    45:45:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> b
-    45:45:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):104 -> b
-    46:46:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):106:106 -> b
-    47:47:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> b
-    47:47:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):106 -> b
-    48:61:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):109:122 -> b
-    62:62:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> b
-    62:62:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):122 -> b
-    63:81:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):125:143 -> b
-com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$1 -> com.android.tools.r8.ir.optimize.v0.j:
-com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo -> com.android.tools.r8.ir.optimize.v0.k:
+    120:120:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):286 -> a
+    121:121:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):286:286 -> a
+    122:123:boolean lambda$removeSwitchMaps$0(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.ir.code.IntSwitch,int):228:229 -> a
+    124:124:void lambda$removeSwitchMaps$1(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):272:272 -> a
+    1:7:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):61:67 -> b
+    8:8:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> b
+    8:8:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):68 -> b
+    9:48:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):69:108 -> b
+    49:49:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> b
+    49:49:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):108 -> b
+    50:51:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):110:111 -> b
+    52:52:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> b
+    52:52:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):111 -> b
+    53:55:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):112:114 -> b
+    56:56:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> b
+    56:56:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):112 -> b
+    57:73:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):115:131 -> b
+    74:74:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> b
+    74:74:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):131 -> b
+    75:77:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132:134 -> b
+    78:78:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> b
+    78:78:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
+    79:100:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):135:156 -> b
+    101:101:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
+    101:101:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):156 -> b
+    102:104:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):156:158 -> b
+com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$1 -> com.android.tools.r8.ir.optimize.x0.j:
+com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo -> com.android.tools.r8.ir.optimize.x0.k:
     com.android.tools.r8.ir.code.Instruction arrayGet -> b
     com.android.tools.r8.ir.code.Instruction staticGet -> c
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap indexMap -> d
     com.android.tools.r8.ir.code.Instruction ordinalInvoke -> a
     com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap valueInfoMap -> e
-    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$1):275:275 -> <init>
-    2:8:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap):290:296 -> <init>
+    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$1):290:290 -> <init>
+    2:8:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap):305:311 -> <init>
 com.android.tools.r8.ir.optimize.info.AbandonedCallSiteOptimizationInfo -> com.android.tools.r8.ir.optimize.info.a:
     com.android.tools.r8.ir.optimize.info.AbandonedCallSiteOptimizationInfo INSTANCE -> b
     1:1:void <clinit>():12:12 -> <clinit>
@@ -38127,10 +38178,10 @@
     boolean isTop() -> g
     1:1:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo top():27:27 -> h
 com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo -> com.android.tools.r8.ir.optimize.info.d:
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap constants -> d
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap dynamicUpperBoundTypes -> c
-    int size -> b
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap constants -> e
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap dynamicUpperBoundTypes -> d
+    boolean $assertionsDisabled -> b
+    int size -> c
     1:1:void <clinit>():26:26 -> <clinit>
     1:5:void <init>(int,boolean):34:38 -> <init>
     1:26:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo join(com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):43:68 -> a
@@ -38177,36 +38228,35 @@
     int UNKNOWN_RETURNED_ARGUMENT -> c
     1:17:void <clinit>():21:37 -> <clinit>
     1:1:void <init>():42:42 -> <init>
-    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo getClassInlinerEligibility() -> A
-    1:1:java.util.Set getInitializedClassesOnNormalExit():81:81 -> B
-    java.util.BitSet getNonNullParamOrThrow() -> C
+    boolean returnsArgument() -> A
+    boolean triggersClassInitBeforeAnySideEffect() -> B
+    com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo asUpdatableMethodOptimizationInfo() -> a
     1:1:com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo$ParameterUsage getParameterUsages(int):91:91 -> a
-    2:2:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo mutableCopy():193:193 -> a
-    java.util.BitSet getNonNullParamOnNormalExits() -> b
-    boolean cannotBeKept() -> c
-    com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType() -> d
-    boolean checksNullReceiverBeforeAnySideEffect() -> e
-    boolean returnValueHasBeenPropagated() -> f
-    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue():148:148 -> g
-    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo() -> h
-    boolean classInitializerMayBePostponed() -> i
-    1:2:int getReturnedArgument():122:123 -> j
-    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo():86:86 -> k
-    boolean returnValueOnlyDependsOnArguments() -> l
-    boolean neverInline() -> m
-    boolean neverReturnsNormally() -> n
-    boolean triggersClassInitBeforeAnySideEffect() -> o
-    boolean returnsArgument() -> p
-    boolean isUpdatableMethodOptimizationInfo() -> q
-    boolean neverReturnsNull() -> r
+    boolean cannotBeKept() -> b
+    boolean checksNullReceiverBeforeAnySideEffect() -> c
+    boolean classInitializerMayBePostponed() -> d
+    boolean forceInline() -> e
+    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue():143:143 -> f
+    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo() -> g
+    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo getClassInlinerEligibility() -> h
+    com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType() -> i
+    com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType() -> j
+    1:1:java.util.Set getInitializedClassesOnNormalExit():81:81 -> k
+    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo():86:86 -> l
+    java.util.BitSet getNonNullParamOnNormalExits() -> m
+    java.util.BitSet getNonNullParamOrThrow() -> n
+    1:2:int getReturnedArgument():122:123 -> o
+    boolean hasBeenInlinedIntoSingleCallSite() -> p
+    boolean isDefaultMethodOptimizationInfo() -> q
+    boolean isInitializerEnablingJavaVmAssertions() -> r
     boolean isReachabilitySensitive() -> s
-    com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo asUpdatableMethodOptimizationInfo() -> t
-    boolean forceInline() -> u
-    boolean isDefaultMethodOptimizationInfo() -> v
-    1:1:boolean mayHaveSideEffects():178:178 -> w
-    com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType() -> x
-    boolean hasBeenInlinedIntoSingleCallSite() -> y
-    boolean isInitializerEnablingJavaVmAssertions() -> z
+    boolean isUpdatableMethodOptimizationInfo() -> t
+    1:1:boolean mayHaveSideEffects():173:173 -> u
+    1:1:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo mutableCopy():188:188 -> v
+    boolean neverInline() -> w
+    boolean neverReturnsNormally() -> x
+    boolean returnValueHasBeenPropagated() -> y
+    boolean returnValueOnlyDependsOnArguments() -> z
 com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo -> com.android.tools.r8.ir.optimize.info.g:
     1:1:void <init>():11:11 -> <init>
     com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo asMutableFieldOptimizationInfo() -> a
@@ -38227,36 +38277,36 @@
     1:1:void recordLibraryFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue):23:23 -> a
     1:1:com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback getInstance():18:18 -> b
 com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo -> com.android.tools.r8.ir.optimize.info.i:
-    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo getClassInlinerEligibility() -> A
-    java.util.Set getInitializedClassesOnNormalExit() -> B
-    java.util.BitSet getNonNullParamOrThrow() -> C
+    1:1:void <init>():18:18 -> <init>
+    boolean returnsArgument() -> A
+    boolean triggersClassInitBeforeAnySideEffect() -> B
+    com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo asUpdatableMethodOptimizationInfo() -> a
     com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo$ParameterUsage getParameterUsages(int) -> a
-    com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo mutableCopy() -> a
-    java.util.BitSet getNonNullParamOnNormalExits() -> b
-    boolean cannotBeKept() -> c
-    com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType() -> d
-    boolean checksNullReceiverBeforeAnySideEffect() -> e
-    boolean returnValueHasBeenPropagated() -> f
-    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue() -> g
-    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo() -> h
-    boolean classInitializerMayBePostponed() -> i
-    int getReturnedArgument() -> j
-    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo() -> k
-    boolean returnValueOnlyDependsOnArguments() -> l
-    boolean neverInline() -> m
-    boolean neverReturnsNormally() -> n
-    boolean triggersClassInitBeforeAnySideEffect() -> o
-    boolean returnsArgument() -> p
-    boolean isUpdatableMethodOptimizationInfo() -> q
-    boolean neverReturnsNull() -> r
+    boolean cannotBeKept() -> b
+    boolean checksNullReceiverBeforeAnySideEffect() -> c
+    boolean classInitializerMayBePostponed() -> d
+    boolean forceInline() -> e
+    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue() -> f
+    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo() -> g
+    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo getClassInlinerEligibility() -> h
+    com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType() -> i
+    com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType() -> j
+    java.util.Set getInitializedClassesOnNormalExit() -> k
+    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo() -> l
+    java.util.BitSet getNonNullParamOnNormalExits() -> m
+    java.util.BitSet getNonNullParamOrThrow() -> n
+    int getReturnedArgument() -> o
+    boolean hasBeenInlinedIntoSingleCallSite() -> p
+    boolean isDefaultMethodOptimizationInfo() -> q
+    boolean isInitializerEnablingJavaVmAssertions() -> r
     boolean isReachabilitySensitive() -> s
-    com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo asUpdatableMethodOptimizationInfo() -> t
-    boolean forceInline() -> u
-    boolean isDefaultMethodOptimizationInfo() -> v
-    boolean mayHaveSideEffects() -> w
-    com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType() -> x
-    boolean hasBeenInlinedIntoSingleCallSite() -> y
-    boolean isInitializerEnablingJavaVmAssertions() -> z
+    boolean isUpdatableMethodOptimizationInfo() -> t
+    boolean mayHaveSideEffects() -> u
+    com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo mutableCopy() -> v
+    boolean neverInline() -> w
+    boolean neverReturnsNormally() -> x
+    boolean returnValueHasBeenPropagated() -> y
+    boolean returnValueOnlyDependsOnArguments() -> z
 com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo$InlinePreference -> com.android.tools.r8.ir.optimize.info.i$a:
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo$InlinePreference NeverInline -> a
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo$InlinePreference ForceInline -> b
@@ -38264,10 +38314,10 @@
     1:3:void <clinit>():21:23 -> <clinit>
     1:1:void <init>(java.lang.String,int):20:20 -> <init>
 com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector -> com.android.tools.r8.ir.optimize.info.k:
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.utils.InternalOptions options -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.utils.InternalOptions options -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():113:113 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.AppView):118:121 -> <init>
     1:3:void identifyBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):150:152 -> a
@@ -38293,305 +38343,311 @@
     39:39:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):133 -> a
     40:40:void identifyReturnsArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):345:345 -> a
     40:40:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):134 -> a
-    41:76:void identifyReturnsArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):351:386 -> a
-    41:76:void identifyReturnsArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):346 -> a
-    41:76:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):134 -> a
-    77:77:void identifyReturnsArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):347:347 -> a
-    77:77:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):134 -> a
-    78:78:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):135:135 -> a
-    79:79:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):677:677 -> a
-    79:79:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):136 -> a
-    80:83:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):684:687 -> a
-    80:83:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):678 -> a
-    80:83:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):136 -> a
-    84:90:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):686:692 -> a
-    84:90:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):678 -> a
-    84:90:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):136 -> a
-    91:91:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):691:691 -> a
-    91:91:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):678 -> a
-    91:91:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):136 -> a
-    92:92:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):679:679 -> a
-    92:92:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):136 -> a
-    93:93:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):946:946 -> a
-    93:93:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):138 -> a
-    94:112:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):957:975 -> a
-    94:112:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):947 -> a
-    94:112:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):138 -> a
-    113:113:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):948:948 -> a
-    113:113:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):138 -> a
-    114:114:void computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):982:982 -> a
-    114:114:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):139 -> a
-    115:121:void computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):989:995 -> a
-    115:121:void computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):983 -> a
-    115:121:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):139 -> a
-    122:122:void computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):984:984 -> a
-    122:122:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):139 -> a
-    123:123:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):396:396 -> a
-    123:123:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    124:136:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):406:418 -> a
-    124:136:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    124:136:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    137:189:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo.builder(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):0:52 -> a
-    137:189:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):423 -> a
-    137:189:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    137:189:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    190:392:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):449:651 -> a
-    190:392:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    190:392:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    190:392:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    393:394:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):636:637 -> a
-    393:394:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    393:394:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    393:394:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    395:395:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    395:395:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):637 -> a
-    395:395:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    395:395:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    395:395:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    396:397:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):640:641 -> a
-    396:397:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    396:397:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    396:397:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    398:399:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):604:605 -> a
-    398:399:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    398:399:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    398:399:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    400:400:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):574:574 -> a
-    400:400:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):605 -> a
-    400:400:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    400:400:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    400:400:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    401:403:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):606:608 -> a
-    401:403:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    401:403:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    401:403:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    404:404:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):272:272 -> a
-    404:404:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):609 -> a
-    404:404:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    404:404:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    404:404:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    405:420:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):610:625 -> a
-    405:420:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    405:420:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    405:420:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    421:421:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):272:272 -> a
-    421:421:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):626 -> a
-    421:421:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    421:421:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    421:421:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    422:422:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):627:627 -> a
-    422:422:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    422:422:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    422:422:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    423:425:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):555:557 -> a
-    423:425:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    423:425:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    423:425:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    426:426:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
-    426:426:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):557 -> a
-    426:426:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    426:426:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    426:426:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    427:440:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):561:574 -> a
-    427:440:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    427:440:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    427:440:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    441:441:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):272:272 -> a
-    441:441:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):574 -> a
-    441:441:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    441:441:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    441:441:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    442:450:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):579:587 -> a
-    442:450:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    442:450:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    442:450:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    451:475:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):568:592 -> a
-    451:475:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    451:475:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    451:475:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    476:476:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):272:272 -> a
-    476:476:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):593 -> a
-    476:476:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    476:476:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    476:476:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    477:477:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):594:594 -> a
-    477:477:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    477:477:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    477:477:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    478:485:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):529:536 -> a
-    478:485:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    478:485:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    478:485:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    486:486:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):272:272 -> a
-    486:486:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):536 -> a
-    486:486:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    486:486:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    486:486:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    487:487:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):537:537 -> a
-    487:487:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    487:487:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    487:487:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    488:488:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63:63 -> a
-    488:488:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):537 -> a
-    488:488:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    488:488:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    488:488:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    489:492:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):538:541 -> a
-    489:492:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    489:492:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    489:492:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    493:493:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):272:272 -> a
-    493:493:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):541 -> a
-    493:493:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    493:493:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
+    41:69:void identifyReturnsArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):351:379 -> a
+    41:69:void identifyReturnsArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):346 -> a
+    41:69:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):134 -> a
+    70:70:void identifyReturnsArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):347:347 -> a
+    70:70:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):134 -> a
+    71:71:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):135:135 -> a
+    72:72:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):672:672 -> a
+    72:72:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):136 -> a
+    73:76:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):679:682 -> a
+    73:76:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):673 -> a
+    73:76:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):136 -> a
+    77:83:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):681:687 -> a
+    77:83:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):673 -> a
+    77:83:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):136 -> a
+    84:84:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):686:686 -> a
+    84:84:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):673 -> a
+    84:84:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):136 -> a
+    85:85:void identifyInvokeSemanticsForInlining(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):674:674 -> a
+    85:85:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):136 -> a
+    86:86:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):941:941 -> a
+    86:86:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):138 -> a
+    87:97:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):952:962 -> a
+    87:97:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):942 -> a
+    87:97:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):138 -> a
+    98:123:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):961:986 -> a
+    98:123:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):942 -> a
+    98:123:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):138 -> a
+    124:128:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):983:987 -> a
+    124:128:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):942 -> a
+    124:128:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):138 -> a
+    129:129:void computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):943:943 -> a
+    129:129:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):138 -> a
+    130:130:void computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):994:994 -> a
+    130:130:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):139 -> a
+    131:137:void computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1001:1007 -> a
+    131:137:void computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):995 -> a
+    131:137:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):139 -> a
+    138:138:void computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):996:996 -> a
+    138:138:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):139 -> a
+    139:139:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):391:391 -> a
+    139:139:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    140:152:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):401:413 -> a
+    140:152:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    140:152:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    153:205:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo.builder(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):0:52 -> a
+    153:205:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):418 -> a
+    153:205:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    153:205:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    206:408:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):444:646 -> a
+    206:408:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    206:408:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    206:408:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    409:410:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):631:632 -> a
+    409:410:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    409:410:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    409:410:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    411:411:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):569:569 -> a
+    411:411:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):632 -> a
+    411:411:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    411:411:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    411:411:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    412:413:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):635:636 -> a
+    412:413:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    412:413:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    412:413:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    414:415:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):599:600 -> a
+    414:415:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    414:415:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    414:415:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    416:416:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):569:569 -> a
+    416:416:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):600 -> a
+    416:416:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    416:416:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    416:416:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    417:419:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):601:603 -> a
+    417:419:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    417:419:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    417:419:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    420:420:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):219:219 -> a
+    420:420:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):604 -> a
+    420:420:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    420:420:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    420:420:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    421:436:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):605:620 -> a
+    421:436:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    421:436:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    421:436:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    437:437:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):219:219 -> a
+    437:437:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):621 -> a
+    437:437:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    437:437:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    437:437:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    438:438:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):622:622 -> a
+    438:438:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    438:438:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    438:438:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    439:441:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):550:552 -> a
+    439:441:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    439:441:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    439:441:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    442:442:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
+    442:442:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):552 -> a
+    442:442:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    442:442:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    442:442:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    443:456:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):556:569 -> a
+    443:456:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    443:456:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    443:456:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    457:457:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):219:219 -> a
+    457:457:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):569 -> a
+    457:457:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    457:457:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    457:457:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    458:466:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):574:582 -> a
+    458:466:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    458:466:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    458:466:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    467:491:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):563:587 -> a
+    467:491:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    467:491:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    467:491:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    492:492:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):219:219 -> a
+    492:492:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):588 -> a
+    492:492:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    492:492:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    492:492:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    493:493:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):589:589 -> a
+    493:493:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    493:493:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
     493:493:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    494:498:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):544:548 -> a
-    494:498:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    494:498:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    494:498:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    499:510:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):510:521 -> a
-    499:510:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    499:510:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    499:510:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    511:709:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):474:672 -> a
-    511:709:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424 -> a
-    511:709:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    511:709:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    710:710:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):429:429 -> a
-    710:710:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    710:710:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    711:711:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):425:425 -> a
-    711:711:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):397 -> a
-    711:711:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    712:712:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):398:398 -> a
-    712:712:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
-    713:713:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1002:1002 -> a
-    713:713:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    714:725:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1010:1021 -> a
-    714:725:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    714:725:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    726:741:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis.classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):43:58 -> a
-    726:741:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1022 -> a
-    726:741:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    726:741:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    742:742:boolean com.android.tools.r8.ir.code.Instruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):590:590 -> a
-    742:742:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis.classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):59 -> a
-    742:742:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1022 -> a
-    742:742:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    742:742:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    743:748:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis.classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):62:67 -> a
-    743:748:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1022 -> a
-    743:748:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    743:748:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    749:775:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis.classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):60:86 -> a
-    749:775:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1022 -> a
-    749:775:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    749:775:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    776:832:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis.classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):79:135 -> a
-    776:832:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1022 -> a
-    776:832:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    776:832:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    833:833:boolean com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect.isNone():33:33 -> a
-    833:833:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1023 -> a
-    833:833:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    833:833:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    834:835:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1024:1025 -> a
-    834:835:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    834:835:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    836:836:boolean com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect.canBePostponed():29:29 -> a
-    836:836:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1026 -> a
-    836:836:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    836:836:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    837:839:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1027:1029 -> a
-    837:839:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    837:839:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    840:841:boolean com.android.tools.r8.graph.DexType.isD8R8SynthesizedLambdaClassType():258:259 -> a
-    840:841:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1029 -> a
-    840:841:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    840:841:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    842:845:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1029:1029 -> a
-    842:845:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    842:845:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    848:856:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1032:1040 -> a
-    848:856:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    848:856:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    857:866:boolean hasNonTrivialFinalizeMethod(com.android.tools.r8.graph.DexProgramClass):1062:1071 -> a
-    857:866:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1040 -> a
-    857:866:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    857:866:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    867:875:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1048:1056 -> a
-    867:875:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1003 -> a
-    867:875:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    876:876:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1004:1004 -> a
-    876:876:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
-    877:877:void computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1078:1078 -> a
-    877:877:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):143 -> a
-    878:884:void computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1085:1091 -> a
-    878:884:void computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1079 -> a
-    878:884:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):143 -> a
-    885:885:void computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1080:1080 -> a
-    885:885:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):143 -> a
-    886:886:void computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1097:1097 -> a
-    886:886:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):144 -> a
-    887:909:void computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1105:1127 -> a
-    887:909:void computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1098 -> a
-    887:909:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):144 -> a
-    910:910:void computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1099:1099 -> a
-    910:910:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):144 -> a
-    911:911:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1133:1133 -> a
-    911:911:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):145 -> a
-    912:943:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode):1139:1170 -> a
-    912:943:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1134 -> a
-    912:943:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):145 -> a
-    944:989:boolean isNormalExitDominated(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1192:1237 -> a
-    944:989:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode):1171 -> a
-    944:989:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1134 -> a
-    944:989:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):145 -> a
-    990:995:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode):1177:1182 -> a
-    990:995:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1134 -> a
-    990:995:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):145 -> a
-    996:996:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1135:1135 -> a
-    996:996:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):145 -> a
-    997:999:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):176:178 -> a
-    1000:1000:boolean com.android.tools.r8.graph.DexEncodedMethod.isNative():334:334 -> a
-    1000:1000:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):179 -> a
-    1001:1094:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):180:273 -> a
-    1095:1101:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):248:254 -> a
-    1102:1106:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):232:236 -> a
-    1107:1189:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):212:294 -> a
-    1190:1190:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):290:290 -> a
-    1191:1191:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):272:272 -> a
-    1191:1191:boolean lambda$identifyClassInlinerEligibility$0(com.android.tools.r8.ir.code.AliasedValueConfiguration,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):197 -> a
-    1192:1192:boolean triggersClassInitializationBeforeSideEffect(com.android.tools.r8.ir.code.IRCode):703:703 -> a
-    1193:1195:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$triggersClassInitializationBeforeSideEffect$1(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):706:708 -> a
-    1196:1215:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$triggersClassInitializationBeforeSideEffect$1(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):707:726 -> a
-    1216:1274:boolean alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):738:796 -> a
-    1275:1314:boolean alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):757:796 -> a
-    1315:1327:boolean alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):784:796 -> a
-    1328:1328:boolean checksNullBeforeSideEffect(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):807:807 -> a
-    1329:1335:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):810:816 -> a
-    1336:1354:boolean isKotlinNullCheck(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):890:908 -> a
-    1336:1354:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):816 -> a
-    1355:1374:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):817:836 -> a
-    1375:1380:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):835:840 -> a
-    1381:1388:boolean isInstantiationOfNullPointerException(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.graph.DexItemFactory):927:934 -> a
-    1381:1388:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):840 -> a
-    1389:1409:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):841:861 -> a
-    1410:1412:boolean isNullCheck(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):916:918 -> a
+    494:501:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):524:531 -> a
+    494:501:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    494:501:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    494:501:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    502:502:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):219:219 -> a
+    502:502:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):531 -> a
+    502:502:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    502:502:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    502:502:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    503:503:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):532:532 -> a
+    503:503:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    503:503:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    503:503:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    504:504:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63:63 -> a
+    504:504:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):532 -> a
+    504:504:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    504:504:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    504:504:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    505:508:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):533:536 -> a
+    505:508:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    505:508:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    505:508:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    509:509:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):219:219 -> a
+    509:509:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):536 -> a
+    509:509:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    509:509:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    509:509:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    510:514:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):539:543 -> a
+    510:514:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    510:514:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    510:514:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    515:526:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):505:516 -> a
+    515:526:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    515:526:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    515:526:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    527:725:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):469:667 -> a
+    527:725:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):419 -> a
+    527:725:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    527:725:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    726:726:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):424:424 -> a
+    726:726:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    726:726:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    727:727:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):420:420 -> a
+    727:727:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):392 -> a
+    727:727:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    728:728:void computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):393:393 -> a
+    728:728:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):140 -> a
+    729:729:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1014:1014 -> a
+    729:729:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    730:741:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1022:1033 -> a
+    730:741:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    730:741:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    742:757:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis.classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):43:58 -> a
+    742:757:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1034 -> a
+    742:757:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    742:757:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    758:758:boolean com.android.tools.r8.ir.code.Instruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):585:585 -> a
+    758:758:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis.classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):59 -> a
+    758:758:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1034 -> a
+    758:758:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    758:758:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    759:764:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis.classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):62:67 -> a
+    759:764:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1034 -> a
+    759:764:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    759:764:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    765:791:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis.classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):60:86 -> a
+    765:791:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1034 -> a
+    765:791:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    765:791:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    792:848:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis.classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):79:135 -> a
+    792:848:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1034 -> a
+    792:848:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    792:848:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    849:849:boolean com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect.isNone():33:33 -> a
+    849:849:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1035 -> a
+    849:849:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    849:849:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    850:851:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1036:1037 -> a
+    850:851:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    850:851:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    852:852:boolean com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect.canBePostponed():29:29 -> a
+    852:852:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1038 -> a
+    852:852:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    852:852:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    853:855:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1039:1041 -> a
+    853:855:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    853:855:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    856:857:boolean com.android.tools.r8.graph.DexType.isD8R8SynthesizedLambdaClassType():284:285 -> a
+    856:857:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1041 -> a
+    856:857:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    856:857:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    858:861:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1041:1041 -> a
+    858:861:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    858:861:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    864:872:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1044:1052 -> a
+    864:872:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    864:872:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    873:882:boolean hasNonTrivialFinalizeMethod(com.android.tools.r8.graph.DexProgramClass):1074:1083 -> a
+    873:882:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1052 -> a
+    873:882:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    873:882:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    883:891:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1060:1068 -> a
+    883:891:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1015 -> a
+    883:891:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    892:892:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1016:1016 -> a
+    892:892:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):142 -> a
+    893:893:void computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1090:1090 -> a
+    893:893:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):143 -> a
+    894:900:void computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1097:1103 -> a
+    894:900:void computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1091 -> a
+    894:900:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):143 -> a
+    901:901:void computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1092:1092 -> a
+    901:901:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):143 -> a
+    902:902:void computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1109:1109 -> a
+    902:902:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):144 -> a
+    903:925:void computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1117:1139 -> a
+    903:925:void computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1110 -> a
+    903:925:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):144 -> a
+    926:926:void computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1111:1111 -> a
+    926:926:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):144 -> a
+    927:927:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1145:1145 -> a
+    927:927:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):145 -> a
+    928:959:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode):1151:1182 -> a
+    928:959:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1146 -> a
+    928:959:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):145 -> a
+    960:1005:boolean isNormalExitDominated(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1204:1249 -> a
+    960:1005:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode):1183 -> a
+    960:1005:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1146 -> a
+    960:1005:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):145 -> a
+    1006:1011:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode):1189:1194 -> a
+    1006:1011:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1146 -> a
+    1006:1011:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):145 -> a
+    1012:1012:void computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1147:1147 -> a
+    1012:1012:void collectMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):145 -> a
+    1013:1015:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):176:178 -> a
+    1016:1016:boolean com.android.tools.r8.graph.DexEncodedMethod.isNative():334:334 -> a
+    1016:1016:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):179 -> a
+    1017:1110:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):180:273 -> a
+    1111:1117:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):248:254 -> a
+    1118:1122:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):232:236 -> a
+    1123:1205:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):212:294 -> a
+    1206:1206:void identifyClassInlinerEligibility(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):290:290 -> a
+    1207:1207:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):219:219 -> a
+    1207:1207:boolean lambda$identifyClassInlinerEligibility$0(com.android.tools.r8.ir.code.AliasedValueConfiguration,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):197 -> a
+    1208:1208:boolean triggersClassInitializationBeforeSideEffect(com.android.tools.r8.ir.code.IRCode):698:698 -> a
+    1209:1211:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$triggersClassInitializationBeforeSideEffect$1(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):701:703 -> a
+    1212:1231:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$triggersClassInitializationBeforeSideEffect$1(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):702:721 -> a
+    1232:1290:boolean alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):733:791 -> a
+    1291:1330:boolean alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):752:791 -> a
+    1331:1343:boolean alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):779:791 -> a
+    1344:1344:boolean checksNullBeforeSideEffect(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):802:802 -> a
+    1345:1351:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):805:811 -> a
+    1352:1370:boolean isKotlinNullCheck(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):885:903 -> a
+    1352:1370:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):811 -> a
+    1371:1390:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):812:831 -> a
+    1391:1396:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):830:835 -> a
+    1397:1404:boolean isInstantiationOfNullPointerException(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.graph.DexItemFactory):922:929 -> a
+    1397:1404:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):835 -> a
+    1405:1425:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):836:856 -> a
+    1426:1428:boolean isNullCheck(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):911:913 -> a
 com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect -> com.android.tools.r8.ir.optimize.info.j:
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect DESIRED_EFFECT -> a
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect NO_EFFECT -> d
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect OTHER_EFFECT -> c
     com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect CONDITIONAL_EFFECT -> b
-    1:4:void <clinit>():880:883 -> <clinit>
-    1:1:void <init>(java.lang.String,int):879:879 -> <init>
+    1:4:void <clinit>():875:878 -> <clinit>
+    1:1:void <init>(java.lang.String,int):874:874 -> <init>
 com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo -> com.android.tools.r8.ir.optimize.info.l:
-    com.android.tools.r8.ir.analysis.type.ClassTypeElement dynamicLowerBoundType -> d
-    boolean $assertionsDisabled -> f
-    int flags -> b
-    int readBits -> c
-    com.android.tools.r8.ir.analysis.type.TypeElement dynamicUpperBoundType -> e
-    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> a
+    com.android.tools.r8.ir.analysis.type.ClassTypeElement dynamicLowerBoundType -> e
+    int readBits -> d
+    boolean $assertionsDisabled -> a
+    int flags -> c
+    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> b
+    com.android.tools.r8.ir.analysis.type.TypeElement dynamicUpperBoundType -> f
     1:1:void <clinit>():25:25 -> <clinit>
     1:11:void <init>():25:35 -> <init>
     com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo asMutableFieldOptimizationInfo() -> a
@@ -38623,11 +38679,11 @@
     void fixup(com.android.tools.r8.graph.DexEncodedField) -> a
     void fixup(com.android.tools.r8.graph.DexEncodedMethod) -> a
 com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed -> com.android.tools.r8.ir.optimize.info.n:
-    java.util.Map fieldOptimizationInfos -> b
-    java.util.Map methodOptimizationInfos -> c
-    java.util.Map processed -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.shaking.AppInfoWithLivenessModifier appInfoWithLivenessModifier -> a
+    java.util.Map fieldOptimizationInfos -> c
+    java.util.Map methodOptimizationInfos -> d
+    boolean $assertionsDisabled -> a
+    java.util.Map processed -> e
+    com.android.tools.r8.shaking.AppInfoWithLivenessModifier appInfoWithLivenessModifier -> b
     1:1:void <clinit>():30:30 -> <clinit>
     1:10:void <init>():30:39 -> <init>
     1:2:void fixupOptimizationInfos(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):67:68 -> a
@@ -38645,29 +38701,28 @@
     24:25:void methodReturnsAbstractValue(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):186:187 -> a
     26:26:void methodReturnsObjectWithUpperBoundType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):194:194 -> a
     27:27:void methodReturnsObjectWithLowerBoundType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement):200:200 -> a
-    28:28:void methodNeverReturnsNormally(com.android.tools.r8.graph.DexEncodedMethod):210:210 -> a
-    29:29:void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):230:230 -> a
-    30:30:void markTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.DexEncodedMethod,boolean):242:242 -> a
-    31:31:void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):247:247 -> a
-    32:32:void setClassInlinerEligibility(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo):253:253 -> a
-    33:34:void setInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):259:260 -> a
-    35:35:void setParameterUsages(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo):271:271 -> a
-    36:36:void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):276:276 -> a
+    28:28:void methodNeverReturnsNormally(com.android.tools.r8.graph.DexEncodedMethod):205:205 -> a
+    29:29:void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):225:225 -> a
+    30:30:void markTriggerClassInitBeforeAnySideEffect(com.android.tools.r8.graph.DexEncodedMethod,boolean):237:237 -> a
+    31:31:void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):242:242 -> a
+    32:32:void setClassInlinerEligibility(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo):248:248 -> a
+    33:34:void setInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):254:255 -> a
+    35:35:void setParameterUsages(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo):266:266 -> a
+    36:36:void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):271:271 -> a
     1:3:void updateVisibleOptimizationInfo():84:84 -> b
     5:17:void updateVisibleOptimizationInfo():86:98 -> b
     18:18:boolean lambda$updateVisibleOptimizationInfo$1(java.util.Map$Entry):86:86 -> b
     19:19:void markFieldCannotBeKept(com.android.tools.r8.graph.DexEncodedField):116:116 -> b
-    20:20:void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod):215:215 -> b
-    21:21:void markCheckNullReceiverBeforeAnySideEffect(com.android.tools.r8.graph.DexEncodedMethod,boolean):236:236 -> b
-    22:22:void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):281:281 -> b
+    20:20:void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod):210:210 -> b
+    21:21:void markCheckNullReceiverBeforeAnySideEffect(com.android.tools.r8.graph.DexEncodedMethod,boolean):231:231 -> b
+    22:22:void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):276:276 -> b
     1:6:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo getFieldOptimizationInfoForUpdating(com.android.tools.r8.graph.DexEncodedField):43:48 -> c
     7:7:void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod):163:163 -> c
-    1:1:void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod):220:220 -> d
-    1:1:void methodNeverReturnsNull(com.android.tools.r8.graph.DexEncodedMethod):205:205 -> e
-    1:1:void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod):286:286 -> f
-    1:1:void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod):168:168 -> g
-    1:1:void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod):265:265 -> h
-    1:6:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.DexEncodedMethod):54:59 -> i
+    1:1:void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod):215:215 -> d
+    1:1:void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> e
+    1:1:void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod):168:168 -> f
+    1:1:void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod):260:260 -> g
+    1:6:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.DexEncodedMethod):54:59 -> h
 com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore -> com.android.tools.r8.ir.optimize.info.o:
     com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore INSTANCE -> a
     1:1:void <clinit>():24:24 -> <clinit>
@@ -38697,10 +38752,9 @@
     void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> b
     void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod) -> c
     void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
-    void methodNeverReturnsNull(com.android.tools.r8.graph.DexEncodedMethod) -> e
-    void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> f
-    void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod) -> g
-    void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod) -> h
+    void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> e
+    void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod) -> f
+    void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod) -> g
 com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore$1 -> com.android.tools.r8.ir.optimize.info.o$a:
     1:1:void <init>():24:24 -> <init>
 com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple -> com.android.tools.r8.ir.optimize.info.p:
@@ -38715,7 +38769,6 @@
     void methodNeverReturnsNormally(com.android.tools.r8.graph.DexEncodedMethod) -> a
     void methodReturnsAbstractValue(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue) -> a
     void methodReturnsObjectWithLowerBoundType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement) -> a
-    void methodReturnsObjectWithUpperBoundType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement) -> a
     void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue) -> a
     void setClassInlinerEligibility(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo) -> a
     void setInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo) -> a
@@ -38723,23 +38776,23 @@
     1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple getInstance():29:29 -> a
     2:2:void markFieldAsPropagated(com.android.tools.r8.graph.DexEncodedField):46:46 -> a
     3:3:void methodReturnsArgument(com.android.tools.r8.graph.DexEncodedMethod,int):95:95 -> a
-    4:4:void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):144:144 -> a
-    5:5:void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):159:159 -> a
-    6:6:void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):186:186 -> a
+    4:4:void methodReturnsObjectWithUpperBoundType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):107:107 -> a
+    5:5:void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):138:138 -> a
+    6:6:void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):153:153 -> a
+    7:7:void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):180:180 -> a
     void markCheckNullReceiverBeforeAnySideEffect(com.android.tools.r8.graph.DexEncodedMethod,boolean) -> b
     void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod) -> b
     1:1:void markFieldCannotBeKept(com.android.tools.r8.graph.DexEncodedField):36:36 -> b
-    2:2:void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):191:191 -> b
+    2:2:void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):185:185 -> b
     1:1:void markFieldAsDead(com.android.tools.r8.graph.DexEncodedField):41:41 -> c
     2:2:void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod):79:79 -> c
     void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
-    1:1:void methodNeverReturnsNull(com.android.tools.r8.graph.DexEncodedMethod):128:128 -> e
-    void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> f
-    1:1:void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod):84:84 -> g
-    1:1:void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod):176:176 -> h
+    void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> e
+    1:1:void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod):84:84 -> f
+    1:1:void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod):170:170 -> g
 com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo -> com.android.tools.r8.ir.optimize.info.q:
-    boolean $assertionsDisabled -> b
-    com.android.tools.r8.com.google.common.collect.ImmutableList parametersUsages -> a
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.com.google.common.collect.ImmutableList parametersUsages -> b
     1:1:void <clinit>():31:31 -> <clinit>
     1:5:void <init>(java.util.List):35:39 -> <init>
     6:6:void <init>(java.util.List):38:38 -> <init>
@@ -38753,30 +38806,30 @@
     9:10:com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo remove(int):58 -> b
     11:24:com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo remove(int):58:71 -> b
 com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo$ParameterUsage -> com.android.tools.r8.ir.optimize.info.q$a:
-    boolean $assertionsDisabled -> i
-    java.util.List callsReceiver -> c
-    boolean hasFieldRead -> e
-    boolean isAssignedToField -> f
-    boolean isReturned -> g
-    java.util.Set ifZeroTest -> b
-    boolean isUsedInMonitor -> h
-    int index -> a
-    boolean hasFieldAssignment -> d
+    java.util.Set ifZeroTest -> c
+    boolean isUsedInMonitor -> i
+    java.util.List callsReceiver -> d
+    boolean hasFieldAssignment -> e
+    boolean hasFieldRead -> f
+    boolean isAssignedToField -> g
+    boolean isReturned -> h
+    boolean $assertionsDisabled -> a
+    int index -> b
     1:1:void <clinit>():74:74 -> <clinit>
     1:11:void <init>(int,java.util.Set,java.util.List,boolean,boolean,boolean,boolean,boolean):103:113 -> <init>
     1:2:boolean notUsed():130:131 -> a
 com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo$ParameterUsageBuilder -> com.android.tools.r8.ir.optimize.info.r:
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
-    boolean isReturned -> i
-    java.util.Set ifZeroTestTypes -> d
-    java.util.List callsOnReceiver -> e
-    boolean isUsedInMonitor -> j
-    boolean $assertionsDisabled -> k
-    boolean hasFieldAssignment -> f
-    com.android.tools.r8.ir.code.Value arg -> b
-    boolean hasFieldRead -> g
-    boolean isAssignedToField -> h
-    int index -> a
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
+    java.util.List callsOnReceiver -> f
+    boolean isAssignedToField -> i
+    boolean isReturned -> j
+    java.util.Set ifZeroTestTypes -> e
+    boolean isUsedInMonitor -> k
+    com.android.tools.r8.ir.code.Value arg -> c
+    boolean hasFieldAssignment -> g
+    boolean hasFieldRead -> h
+    boolean $assertionsDisabled -> a
+    int index -> b
     1:1:void <clinit>():140:140 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.graph.DexItemFactory):155:155 -> <init>
     2:14:void <init>(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.graph.DexItemFactory):146:158 -> <init>
@@ -38814,106 +38867,107 @@
     boolean isTop() -> g
     1:1:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo getInstance():14:14 -> i
 com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo -> com.android.tools.r8.ir.optimize.info.t:
-    int DEFAULT_FLAGS -> n
-    com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo parametersUsages -> j
-    boolean $assertionsDisabled -> o
-    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo bridgeInfo -> g
-    int flags -> m
-    java.util.BitSet nonNullParamOrThrow -> k
-    java.util.BitSet nonNullParamOnNormalExits -> l
-    java.util.Set initializedClassesOnNormalExit -> a
-    int returnedArgument -> b
-    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo instanceInitializerInfo -> i
-    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo$InlinePreference inlining -> f
-    com.android.tools.r8.ir.analysis.type.TypeElement returnsObjectWithUpperBoundType -> d
-    com.android.tools.r8.ir.analysis.type.ClassTypeElement returnsObjectWithLowerBoundType -> e
-    com.android.tools.r8.ir.analysis.value.AbstractValue abstractReturnValue -> c
-    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo classInlinerEligibility -> h
-    1:96:void <clinit>():25:120 -> <clinit>
-    1:1:void <init>():125:125 -> <init>
-    2:98:void <init>():27:123 -> <init>
-    99:99:void <init>(com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo):131:131 -> <init>
-    100:217:void <init>(com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo):27:144 -> <init>
-    1:1:com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo getClassInlinerEligibility():316:316 -> A
-    1:1:java.util.Set getInitializedClassesOnNormalExit():247:247 -> B
-    1:1:java.util.BitSet getNonNullParamOrThrow():262:262 -> C
-    1:26:void adjustOptimizationInfoAfterRemovingThisParameter():494:519 -> D
-    27:27:void markCheckNullReceiverBeforeAnySideEffect(boolean):468:468 -> D
-    27:27:void adjustOptimizationInfoAfterRemovingThisParameter():519 -> D
-    28:28:void markTriggerClassInitBeforeAnySideEffect(boolean):472:472 -> D
-    28:28:void adjustOptimizationInfoAfterRemovingThisParameter():522 -> D
-    29:48:void adjustOptimizationInfoAfterRemovingThisParameter():525:544 -> D
-    1:1:void markAsPropagated():477:477 -> E
-    1:1:void markCannotBeKept():223:223 -> F
-    1:1:void markClassInitializerMayBePostponed():232:232 -> G
-    1:2:void markForceInline():449:450 -> H
-    1:1:void markInlinedIntoSingleCallSite():276:276 -> I
-    1:1:void markMayNotHaveSideEffects():398:398 -> J
-    1:2:void markNeverInline():463:464 -> K
-    1:1:void markNeverReturnsNormally():410:410 -> L
-    1:1:void markNeverReturnsNull():406:406 -> M
-    1:1:void markReturnValueOnlyDependsOnArguments():402:402 -> N
-    1:1:void setInitializerEnablingJavaAssertions():384:384 -> O
-    1:2:void unsetForceInline():456:457 -> P
-    1:13:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo fixupClassTypeReferences(java.util.function.Function,com.android.tools.r8.graph.AppView):149:161 -> a
-    14:14:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo fixupAbstractReturnValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):169:169 -> a
-    15:15:void setFlag(int):190:190 -> a
-    15:15:void setFlag(int,boolean):183 -> a
-    16:16:void clearFlag(int):194:194 -> a
-    16:16:void setFlag(int,boolean):185 -> a
-    17:17:com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo$ParameterUsage getParameterUsages(int):257:257 -> a
-    18:18:void setBridgeInfo(com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):311:311 -> a
-    19:19:void setParameterUsages(com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo):360:360 -> a
-    20:20:void setNonNullParamOnNormalExits(java.util.BitSet):368:368 -> a
-    21:21:void setClassInlinerEligibility(com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo):376:376 -> a
-    22:22:void setInstanceInitializerInfo(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):380:380 -> a
-    23:23:void markInitializesClassesOnNormalExit(java.util.Set):388:388 -> a
-    24:26:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):414:416 -> a
-    27:36:void markReturnsObjectWithUpperBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):420:429 -> a
-    37:40:void markReturnsObjectWithUpperBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):428:431 -> a
-    41:47:void markReturnsObjectWithLowerBoundType(com.android.tools.r8.ir.analysis.type.ClassTypeElement):435:441 -> a
-    48:53:void markReturnsObjectWithLowerBoundType(com.android.tools.r8.ir.analysis.type.ClassTypeElement):438:443 -> a
-    54:54:void markCheckNullReceiverBeforeAnySideEffect(boolean):468:468 -> a
-    55:56:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo mutableCopy():487:488 -> a
-    1:2:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):175:176 -> b
-    3:3:void clearFlag(int):194:194 -> b
-    4:4:java.util.BitSet getNonNullParamOnNormalExits():267:267 -> b
-    5:5:void setNonNullParamOrThrow(java.util.BitSet):364:364 -> b
-    6:6:void markTriggerClassInitBeforeAnySideEffect(boolean):472:472 -> b
-    1:1:boolean isFlagSet(int):198:198 -> c
-    2:2:boolean cannotBeKept():218:218 -> c
-    3:3:void setReachabilitySensitive(boolean):372:372 -> c
-    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():237:237 -> d
-    2:4:void markReturnsArgument(int):392:394 -> d
-    1:1:void setFlag(int):190:190 -> e
-    2:2:boolean checksNullReceiverBeforeAnySideEffect():341:341 -> e
-    1:1:boolean returnValueHasBeenPropagated():482:482 -> f
-    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue():321:321 -> g
-    1:1:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo():307:307 -> h
-    1:1:boolean classInitializerMayBePostponed():228:228 -> i
-    1:2:int getReturnedArgument():291:292 -> j
-    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo():252:252 -> k
-    1:1:boolean returnValueOnlyDependsOnArguments():356:356 -> l
-    1:1:boolean neverInline():336:336 -> m
-    1:1:boolean neverReturnsNormally():302:302 -> n
-    1:1:boolean triggersClassInitBeforeAnySideEffect():346:346 -> o
-    1:1:boolean returnsArgument():286:286 -> p
-    boolean isUpdatableMethodOptimizationInfo() -> q
-    1:1:boolean neverReturnsNull():297:297 -> r
-    1:1:boolean isReachabilitySensitive():281:281 -> s
-    com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo asUpdatableMethodOptimizationInfo() -> t
-    1:1:boolean forceInline():331:331 -> u
-    boolean isDefaultMethodOptimizationInfo() -> v
-    1:1:boolean mayHaveSideEffects():351:351 -> w
-    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType():242:242 -> x
-    1:1:boolean hasBeenInlinedIntoSingleCallSite():272:272 -> y
-    1:1:boolean isInitializerEnablingJavaVmAssertions():326:326 -> z
+    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo bridgeInfo -> i
+    int flags -> o
+    java.util.BitSet nonNullParamOrThrow -> m
+    com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo parametersUsages -> l
+    java.util.BitSet nonNullParamOnNormalExits -> n
+    int returnedArgument -> d
+    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo$InlinePreference inlining -> h
+    int DEFAULT_FLAGS -> a
+    com.android.tools.r8.ir.analysis.type.TypeElement returnsObjectWithUpperBoundType -> f
+    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo instanceInitializerInfo -> k
+    com.android.tools.r8.ir.analysis.value.AbstractValue abstractReturnValue -> e
+    java.util.Set initializedClassesOnNormalExit -> c
+    com.android.tools.r8.ir.analysis.type.ClassTypeElement returnsObjectWithLowerBoundType -> g
+    boolean $assertionsDisabled -> b
+    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo classInlinerEligibility -> j
+    1:95:void <clinit>():25:119 -> <clinit>
+    1:1:void <init>():124:124 -> <init>
+    2:97:void <init>():27:122 -> <init>
+    98:98:void <init>(com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo):130:130 -> <init>
+    99:215:void <init>(com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo):27:143 -> <init>
+    1:1:boolean returnsArgument():285:285 -> A
+    1:1:boolean triggersClassInitBeforeAnySideEffect():340:340 -> B
+    1:26:void adjustOptimizationInfoAfterRemovingThisParameter():485:510 -> C
+    27:27:void markCheckNullReceiverBeforeAnySideEffect(boolean):459:459 -> C
+    27:27:void adjustOptimizationInfoAfterRemovingThisParameter():510 -> C
+    28:28:void markTriggerClassInitBeforeAnySideEffect(boolean):463:463 -> C
+    28:28:void adjustOptimizationInfoAfterRemovingThisParameter():513 -> C
+    29:48:void adjustOptimizationInfoAfterRemovingThisParameter():516:535 -> C
+    1:1:void markAsPropagated():468:468 -> D
+    1:1:void markCannotBeKept():222:222 -> E
+    1:1:void markClassInitializerMayBePostponed():231:231 -> F
+    1:2:void markForceInline():440:441 -> G
+    1:1:void markInlinedIntoSingleCallSite():275:275 -> H
+    1:1:void markMayNotHaveSideEffects():392:392 -> I
+    1:2:void markNeverInline():454:455 -> J
+    1:1:void markNeverReturnsNormally():400:400 -> K
+    1:1:void markReturnValueOnlyDependsOnArguments():396:396 -> L
+    1:1:void setInitializerEnablingJavaAssertions():378:378 -> M
+    1:2:void unsetForceInline():447:448 -> N
+    com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo asUpdatableMethodOptimizationInfo() -> a
+    1:13:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo fixupClassTypeReferences(java.util.function.Function,com.android.tools.r8.graph.AppView):148:160 -> a
+    14:14:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo fixupAbstractReturnValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):168:168 -> a
+    15:15:void setFlag(int):189:189 -> a
+    15:15:void setFlag(int,boolean):182 -> a
+    16:16:void clearFlag(int):193:193 -> a
+    16:16:void setFlag(int,boolean):184 -> a
+    17:17:com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo$ParameterUsage getParameterUsages(int):256:256 -> a
+    18:18:void setBridgeInfo(com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):305:305 -> a
+    19:19:void setParameterUsages(com.android.tools.r8.ir.optimize.info.ParameterUsagesInfo):354:354 -> a
+    20:20:void setNonNullParamOnNormalExits(java.util.BitSet):362:362 -> a
+    21:21:void setClassInlinerEligibility(com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo):370:370 -> a
+    22:22:void setInstanceInitializerInfo(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):374:374 -> a
+    23:23:void markInitializesClassesOnNormalExit(java.util.Set):382:382 -> a
+    24:26:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):404:406 -> a
+    27:36:void markReturnsObjectWithUpperBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):410:419 -> a
+    37:42:void markReturnsObjectWithUpperBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):418:423 -> a
+    43:47:void markReturnsObjectWithLowerBoundType(com.android.tools.r8.ir.analysis.type.ClassTypeElement):428:432 -> a
+    48:51:void markReturnsObjectWithLowerBoundType(com.android.tools.r8.ir.analysis.type.ClassTypeElement):431:434 -> a
+    52:52:void markCheckNullReceiverBeforeAnySideEffect(boolean):459:459 -> a
+    1:2:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):174:175 -> b
+    3:3:void clearFlag(int):193:193 -> b
+    4:4:boolean cannotBeKept():217:217 -> b
+    5:5:void setNonNullParamOrThrow(java.util.BitSet):358:358 -> b
+    6:6:void markTriggerClassInitBeforeAnySideEffect(boolean):463:463 -> b
+    1:1:boolean isFlagSet(int):197:197 -> c
+    2:2:boolean checksNullReceiverBeforeAnySideEffect():335:335 -> c
+    3:3:void setReachabilitySensitive(boolean):366:366 -> c
+    1:1:boolean classInitializerMayBePostponed():227:227 -> d
+    2:4:void markReturnsArgument(int):386:388 -> d
+    1:1:void setFlag(int):189:189 -> e
+    2:2:boolean forceInline():325:325 -> e
+    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue():315:315 -> f
+    1:1:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo():301:301 -> g
+    1:1:com.android.tools.r8.ir.optimize.classinliner.ClassInlinerEligibilityInfo getClassInlinerEligibility():310:310 -> h
+    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType():241:241 -> i
+    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():236:236 -> j
+    1:1:java.util.Set getInitializedClassesOnNormalExit():246:246 -> k
+    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo():251:251 -> l
+    1:1:java.util.BitSet getNonNullParamOnNormalExits():266:266 -> m
+    1:1:java.util.BitSet getNonNullParamOrThrow():261:261 -> n
+    1:1:int getReturnedArgument():290:290 -> o
+    2:2:boolean returnsArgument():285:285 -> o
+    2:2:int getReturnedArgument():290 -> o
+    3:4:int getReturnedArgument():290:291 -> o
+    1:1:boolean hasBeenInlinedIntoSingleCallSite():271:271 -> p
+    boolean isDefaultMethodOptimizationInfo() -> q
+    1:1:boolean isInitializerEnablingJavaVmAssertions():320:320 -> r
+    1:1:boolean isReachabilitySensitive():280:280 -> s
+    boolean isUpdatableMethodOptimizationInfo() -> t
+    1:1:boolean mayHaveSideEffects():345:345 -> u
+    1:2:com.android.tools.r8.ir.optimize.info.UpdatableMethodOptimizationInfo mutableCopy():478:479 -> v
+    1:1:boolean neverInline():330:330 -> w
+    1:1:boolean neverReturnsNormally():296:296 -> x
+    1:1:boolean returnValueHasBeenPropagated():473:473 -> y
+    1:1:boolean returnValueOnlyDependsOnArguments():350:350 -> z
 com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer -> com.android.tools.r8.ir.optimize.info.u.a:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():22:22 -> <clinit>
     1:11:boolean analyzeCheckCastBeforeInvoke(com.android.tools.r8.ir.code.CheckCast):99:109 -> a
     1:11:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):94 -> a
-    12:12:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():445:445 -> a
+    12:12:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():346:346 -> a
     12:12:boolean analyzeCheckCastBeforeInvoke(com.android.tools.r8.ir.code.CheckCast):109 -> a
     12:12:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):94 -> a
     13:26:boolean analyzeCheckCastBeforeInvoke(com.android.tools.r8.ir.code.CheckCast):112:125 -> a
@@ -38925,7 +38979,7 @@
     28:28:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):94 -> a
     29:37:boolean analyzeCheckCastAfterInvoke(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):138:146 -> a
     29:37:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):95 -> a
-    38:38:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():445:445 -> a
+    38:38:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():346:346 -> a
     38:38:boolean analyzeCheckCastAfterInvoke(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):147 -> a
     38:38:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):95 -> a
     39:39:boolean analyzeCheckCastAfterInvoke(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):148:148 -> a
@@ -38977,8 +39031,8 @@
     1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder builder():27:27 -> a
     boolean isEmpty() -> b
 com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder -> com.android.tools.r8.ir.optimize.info.v.d:
-    java.util.Map infos -> a
-    boolean $assertionsDisabled -> b
+    java.util.Map infos -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():41:41 -> <clinit>
     1:3:void <init>():41:43 -> <init>
     1:2:void recordInitializationInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):51:52 -> a
@@ -38999,19 +39053,19 @@
     1:6:boolean equals(java.lang.Object):83:88 -> equals
     1:1:int hashCode():75:75 -> hashCode
 com.android.tools.r8.ir.optimize.info.field.NonTrivialInstanceFieldInitializationInfoCollection -> com.android.tools.r8.ir.optimize.info.v.h:
-    java.util.Map infos -> a
-    boolean $assertionsDisabled -> b
-    1:1:void <clinit>():17:17 -> <clinit>
-    1:4:void <init>(java.util.Map):23:26 -> <init>
+    java.util.Map infos -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():19:19 -> <clinit>
+    1:4:void <init>(java.util.Map):25:28 -> <init>
     1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection.builder():27:27 -> a
-    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):57 -> a
-    2:2:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):58:58 -> a
+    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):60 -> a
+    2:2:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):61:61 -> a
     3:6:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder.build():56:59 -> a
-    3:6:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):66 -> a
-    7:7:void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer):33:33 -> a
-    8:12:void lambda$forEach$0(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):35:39 -> a
-    13:13:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo get(com.android.tools.r8.graph.DexEncodedField):46:46 -> a
-    14:17:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):60:63 -> a
+    3:6:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):69 -> a
+    7:7:void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer):35:35 -> a
+    8:13:void lambda$forEach$0(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):37:42 -> a
+    14:14:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo get(com.android.tools.r8.graph.DexEncodedField):49:49 -> a
+    15:18:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):63:66 -> a
     boolean isEmpty() -> b
 com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo -> com.android.tools.r8.ir.optimize.info.v.i:
     com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo INSTANCE -> a
@@ -39042,12 +39096,12 @@
     com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet() -> e
     boolean receiverNeverEscapesOutsideConstructorChain() -> f
 com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo -> com.android.tools.r8.ir.optimize.info.w.e:
-    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos -> b
-    boolean $assertionsDisabled -> e
-    int $r8$clinit -> f
-    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet -> c
-    com.android.tools.r8.graph.DexMethod parent -> d
-    int data -> a
+    com.android.tools.r8.graph.DexMethod parent -> f
+    boolean $assertionsDisabled -> a
+    int $r8$clinit -> b
+    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet -> e
+    int data -> c
+    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos -> d
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>(int,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$1):18:18 -> <init>
     2:7:void <init>(int,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet,com.android.tools.r8.graph.DexMethod):33:38 -> <init>
@@ -39062,11 +39116,11 @@
     1:1:boolean receiverNeverEscapesOutsideConstructorChain():82:82 -> f
 com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$1 -> com.android.tools.r8.ir.optimize.info.w.c:
 com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder -> com.android.tools.r8.ir.optimize.info.w.d:
-    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection instanceFieldInitializationInfos -> a
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet -> c
-    com.android.tools.r8.graph.DexMethod parent -> d
-    int data -> b
+    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection instanceFieldInitializationInfos -> b
+    com.android.tools.r8.graph.DexMethod parent -> e
+    boolean $assertionsDisabled -> a
+    int data -> c
+    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet -> d
     1:1:void <clinit>():95:95 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):106:106 -> <init>
     2:10:void <init>(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):99:107 -> <init>
@@ -39096,11 +39150,11 @@
     1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setInstanceFieldInitializationMayDependOnEnvironment():165:165 -> e
     1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setMayHaveOtherSideEffectsThanInstanceFieldAssignments():174:174 -> f
     1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setReceiverMayEscapeOutsideConstructorChain():179:179 -> g
-com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy -> com.android.tools.r8.ir.optimize.w0.a:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.conversion.CallSiteInformation callSiteInformation -> b
-    com.android.tools.r8.ir.optimize.Inliner inliner -> c
-    boolean $assertionsDisabled -> d
+com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy -> com.android.tools.r8.ir.optimize.y0.a:
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.ir.conversion.CallSiteInformation callSiteInformation -> c
+    com.android.tools.r8.ir.optimize.Inliner inliner -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():17:17 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.CallSiteInformation,com.android.tools.r8.ir.optimize.Inliner):26:29 -> <init>
     1:21:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):35:55 -> a
@@ -39108,22 +39162,22 @@
     22:24:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
     25:27:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):58:60 -> a
     28:29:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):40:41 -> a
-com.android.tools.r8.ir.optimize.inliner.FixedInliningReasonStrategy -> com.android.tools.r8.ir.optimize.w0.b:
+com.android.tools.r8.ir.optimize.inliner.FixedInliningReasonStrategy -> com.android.tools.r8.ir.optimize.y0.b:
     1:1:void <init>(com.android.tools.r8.ir.optimize.Inliner$Reason):15:15 -> <init>
     1:1:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):22:22 -> a
-com.android.tools.r8.ir.optimize.inliner.InlinerUtils -> com.android.tools.r8.ir.optimize.w0.c:
+com.android.tools.r8.ir.optimize.inliner.InlinerUtils -> com.android.tools.r8.ir.optimize.y0.c:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():14:14 -> <clinit>
     1:4:void collectAllMonitorEnterValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Set):20:23 -> a
     5:9:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):32:36 -> a
     10:10:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):34:34 -> a
-com.android.tools.r8.ir.optimize.inliner.InliningIRProvider -> com.android.tools.r8.ir.optimize.w0.d:
-    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> d
-    com.android.tools.r8.ir.code.ValueNumberGenerator valueNumberGenerator -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.ProgramMethod context -> b
-    java.util.Map cache -> e
+com.android.tools.r8.ir.optimize.inliner.InliningIRProvider -> com.android.tools.r8.ir.optimize.y0.d:
+    com.android.tools.r8.ir.code.ValueNumberGenerator valueNumberGenerator -> d
+    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> e
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    java.util.Map cache -> f
+    com.android.tools.r8.graph.ProgramMethod context -> c
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):28:28 -> <init>
     2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):25:32 -> <init>
@@ -39135,9 +39189,9 @@
     1:7:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):36:42 -> b
     8:9:com.android.tools.r8.ir.code.IRCode com.android.tools.r8.graph.ProgramMethod.buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueNumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.conversion.MethodProcessor):32:33 -> b
     8:9:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):42 -> b
-com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy -> com.android.tools.r8.ir.optimize.w0.e:
+com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy -> com.android.tools.r8.ir.optimize.y0.e:
     com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> a
-com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter -> com.android.tools.r8.ir.optimize.w0.f:
+com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter -> com.android.tools.r8.ir.optimize.y0.f:
     com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter INSTANCE -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:1:void <init>():18:18 -> <init>
@@ -39175,7 +39229,7 @@
     void reportUnknownTarget() -> w
     boolean unsetReasonHasBeenReportedFlag() -> x
     1:1:com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter getInstance():21:21 -> y
-com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter -> com.android.tools.r8.ir.optimize.w0.g:
+com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter -> com.android.tools.r8.ir.optimize.y0.g:
     1:1:void <init>():18:18 -> <init>
     void reportBlacklisted() -> a
     void reportIncorrectArity(int,int) -> a
@@ -39212,12 +39266,12 @@
     void reportRecursiveMethod() -> v
     void reportUnknownTarget() -> w
     boolean unsetReasonHasBeenReportedFlag() -> x
-com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporterImpl -> com.android.tools.r8.ir.optimize.w0.h:
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.ProgramMethod context -> b
-    com.android.tools.r8.graph.ProgramMethod callee -> a
-    java.io.PrintStream output -> c
-    boolean reasonHasBeenReported -> d
+com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporterImpl -> com.android.tools.r8.ir.optimize.y0.h:
+    boolean reasonHasBeenReported -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.ProgramMethod callee -> b
+    java.io.PrintStream output -> d
+    com.android.tools.r8.graph.ProgramMethod context -> c
     1:1:void <clinit>():16:16 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):25:25 -> <init>
     2:8:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):22:28 -> <init>
@@ -39256,7 +39310,7 @@
     1:1:void reportRecursiveMethod():209:209 -> v
     1:1:void reportUnknownTarget():214:214 -> w
     1:2:boolean unsetReasonHasBeenReportedFlag():270:271 -> x
-com.android.tools.r8.ir.optimize.lambda.CaptureSignature -> com.android.tools.r8.ir.optimize.x0.a:
+com.android.tools.r8.ir.optimize.lambda.CaptureSignature -> com.android.tools.r8.ir.optimize.z0.a:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList SINGLE_LIST -> b
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList EMPTY_LIST -> a
     boolean $assertionsDisabled -> c
@@ -39277,19 +39331,19 @@
     83:83:java.lang.String getCaptureSignature(com.android.tools.r8.graph.DexTypeList):116:116 -> a
     84:84:com.android.tools.r8.graph.DexType lambda$getCaptureSignature$2(com.android.tools.r8.graph.DexTypeList,int):116:116 -> a
     85:110:int mapFieldIntoCaptureIndex(java.lang.String,java.util.List,com.android.tools.r8.graph.DexField):123:148 -> a
-com.android.tools.r8.ir.optimize.lambda.CodeProcessor -> com.android.tools.r8.ir.optimize.x0.d:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    com.android.tools.r8.graph.ProgramMethod method -> f
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.graph.ProgramMethod context -> j
-    com.android.tools.r8.ir.code.IRCode code -> g
-    com.android.tools.r8.ir.code.InstructionListIterator instructions -> i
-    com.android.tools.r8.ir.optimize.lambda.CodeProcessor$Strategy NoOp -> k
-    boolean $assertionsDisabled -> l
-    java.util.function.Function strategyProvider -> d
-    com.android.tools.r8.kotlin.Kotlin kotlin -> c
-    com.android.tools.r8.ir.optimize.lambda.LambdaTypeVisitor lambdaChecker -> e
-    java.util.ListIterator blocks -> h
+com.android.tools.r8.ir.optimize.lambda.CodeProcessor -> com.android.tools.r8.ir.optimize.z0.d:
+    com.android.tools.r8.ir.code.IRCode code -> i
+    com.android.tools.r8.ir.code.InstructionListIterator instructions -> k
+    com.android.tools.r8.graph.DexItemFactory factory -> d
+    com.android.tools.r8.graph.ProgramMethod method -> h
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.graph.ProgramMethod context -> l
+    java.util.function.Function strategyProvider -> f
+    java.util.ListIterator blocks -> j
+    com.android.tools.r8.ir.optimize.lambda.CodeProcessor$Strategy NoOp -> a
+    boolean $assertionsDisabled -> b
+    com.android.tools.r8.kotlin.Kotlin kotlin -> e
+    com.android.tools.r8.ir.optimize.lambda.LambdaTypeVisitor lambdaChecker -> g
     1:33:void <clinit>():48:80 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.ir.optimize.lambda.LambdaTypeVisitor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):175:175 -> <init>
     2:11:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.ir.optimize.lambda.LambdaTypeVisitor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):184:193 -> <init>
@@ -39352,7 +39406,7 @@
     89:97:java.lang.Void visit(com.android.tools.r8.ir.code.InitClass):373:381 -> a
     89:97:java.lang.Object visit(com.android.tools.r8.ir.code.InitClass):48 -> a
     1:5:void processCode():202:206 -> b
-com.android.tools.r8.ir.optimize.lambda.CodeProcessor$1 -> com.android.tools.r8.ir.optimize.x0.b:
+com.android.tools.r8.ir.optimize.lambda.CodeProcessor$1 -> com.android.tools.r8.ir.optimize.z0.b:
     1:1:void <init>():81:81 -> <init>
     boolean isValidInitClass(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexType) -> a
     boolean isValidInvoke(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.InvokeMethod) -> a
@@ -39366,7 +39420,7 @@
     boolean isValidInstanceFieldWrite(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexField) -> b
     boolean isValidStaticFieldRead(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexField) -> c
     boolean isValidInstanceFieldRead(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexField) -> d
-com.android.tools.r8.ir.optimize.lambda.CodeProcessor$Strategy -> com.android.tools.r8.ir.optimize.x0.c:
+com.android.tools.r8.ir.optimize.lambda.CodeProcessor$Strategy -> com.android.tools.r8.ir.optimize.z0.c:
     boolean isValidInitClass(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexType) -> a
     boolean isValidInvoke(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.InvokeMethod) -> a
     boolean isValidNewInstance(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.NewInstance) -> a
@@ -39379,11 +39433,11 @@
     boolean isValidInstanceFieldWrite(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexField) -> b
     boolean isValidStaticFieldRead(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexField) -> c
     boolean isValidInstanceFieldRead(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexField) -> d
-com.android.tools.r8.ir.optimize.lambda.LambdaGroup -> com.android.tools.r8.ir.optimize.x0.g:
-    java.util.Map lambdas -> c
-    com.android.tools.r8.ir.optimize.lambda.LambdaGroupId id -> a
-    com.android.tools.r8.graph.DexType classType -> b
-    boolean $assertionsDisabled -> d
+com.android.tools.r8.ir.optimize.lambda.LambdaGroup -> com.android.tools.r8.ir.optimize.z0.g:
+    java.util.Map lambdas -> d
+    com.android.tools.r8.ir.optimize.lambda.LambdaGroupId id -> b
+    com.android.tools.r8.graph.DexType classType -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():39:39 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaGroupId):63:63 -> <init>
     2:15:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaGroupId):51:64 -> <init>
@@ -39413,14 +39467,14 @@
     1:2:void remove(com.android.tools.r8.graph.DexType):136:137 -> e
     1:1:boolean isTrivial():127:127 -> f
     1:1:int size():73:73 -> g
-com.android.tools.r8.ir.optimize.lambda.LambdaGroup$LambdaInfo -> com.android.tools.r8.ir.optimize.x0.e:
+com.android.tools.r8.ir.optimize.lambda.LambdaGroup$LambdaInfo -> com.android.tools.r8.ir.optimize.z0.e:
     com.android.tools.r8.graph.DexProgramClass clazz -> b
     int id -> a
     1:3:void <init>(int,com.android.tools.r8.graph.DexProgramClass):57:59 -> <init>
-com.android.tools.r8.ir.optimize.lambda.LambdaGroup$LambdaStructureError -> com.android.tools.r8.ir.optimize.x0.f:
+com.android.tools.r8.ir.optimize.lambda.LambdaGroup$LambdaStructureError -> com.android.tools.r8.ir.optimize.z0.f:
     boolean reportable -> a
     1:2:void <init>(java.lang.String,boolean):225:226 -> <init>
-com.android.tools.r8.ir.optimize.lambda.LambdaGroupClassBuilder -> com.android.tools.r8.ir.optimize.x0.h:
+com.android.tools.r8.ir.optimize.lambda.LambdaGroupClassBuilder -> com.android.tools.r8.ir.optimize.z0.h:
     java.lang.String origin -> n
     com.android.tools.r8.graph.DexItemFactory factory -> m
     com.android.tools.r8.ir.optimize.lambda.LambdaGroup group -> l
@@ -39436,20 +39490,20 @@
     com.android.tools.r8.graph.DexTypeList buildInterfaces() -> g
     com.android.tools.r8.graph.DexEncodedMethod[] buildVirtualMethods() -> h
     com.android.tools.r8.graph.DexType getSuperClassType() -> i
-com.android.tools.r8.ir.optimize.lambda.LambdaGroupId -> com.android.tools.r8.ir.optimize.x0.i:
+com.android.tools.r8.ir.optimize.lambda.LambdaGroupId -> com.android.tools.r8.ir.optimize.z0.i:
     com.android.tools.r8.ir.optimize.lambda.LambdaGroup createGroup() -> a
-com.android.tools.r8.ir.optimize.lambda.LambdaMerger -> com.android.tools.r8.ir.optimize.x0.q:
-    java.util.Map lambdas -> a
-    com.android.tools.r8.kotlin.Kotlin kotlin -> f
-    com.android.tools.r8.ir.optimize.lambda.LambdaMerger$Mode mode -> h
-    java.util.Map groups -> b
-    java.util.Set invalidatedLambdas -> c
-    boolean $assertionsDisabled -> k
-    com.android.tools.r8.graph.AppView appView -> e
-    com.android.tools.r8.DiagnosticsHandler reporter -> g
-    com.android.tools.r8.ir.optimize.lambda.LambdaTypeVisitor lambdaInvalidator -> i
-    com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder methodsToReprocess -> d
-    com.android.tools.r8.ir.optimize.lambda.LambdaTypeVisitor lambdaChecker -> j
+com.android.tools.r8.ir.optimize.lambda.LambdaMerger -> com.android.tools.r8.ir.optimize.z0.q:
+    java.util.Map lambdas -> b
+    com.android.tools.r8.kotlin.Kotlin kotlin -> g
+    java.util.Map groups -> c
+    java.util.Set invalidatedLambdas -> d
+    com.android.tools.r8.ir.optimize.lambda.LambdaMerger$Mode mode -> i
+    com.android.tools.r8.graph.AppView appView -> f
+    com.android.tools.r8.DiagnosticsHandler reporter -> h
+    com.android.tools.r8.ir.optimize.lambda.LambdaTypeVisitor lambdaInvalidator -> j
+    com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder methodsToReprocess -> e
+    com.android.tools.r8.ir.optimize.lambda.LambdaTypeVisitor lambdaChecker -> k
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():99:99 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):212:212 -> <init>
     2:44:void <init>(com.android.tools.r8.graph.AppView):178:220 -> <init>
@@ -39505,8 +39559,8 @@
     1:1:java.util.Map access$900(com.android.tools.r8.ir.optimize.lambda.LambdaMerger):99:99 -> d
     2:13:void lambda$collectGroupCandidates$4(com.android.tools.r8.graph.DexProgramClass):263:274 -> d
     14:14:void lambda$collectGroupCandidates$4(com.android.tools.r8.graph.DexProgramClass):269:269 -> d
-com.android.tools.r8.ir.optimize.lambda.LambdaMerger$1 -> com.android.tools.r8.ir.optimize.x0.j:
-com.android.tools.r8.ir.optimize.lambda.LambdaMerger$AnalysisStrategy -> com.android.tools.r8.ir.optimize.x0.k:
+com.android.tools.r8.ir.optimize.lambda.LambdaMerger$1 -> com.android.tools.r8.ir.optimize.z0.j:
+com.android.tools.r8.ir.optimize.lambda.LambdaMerger$AnalysisStrategy -> com.android.tools.r8.ir.optimize.z0.k:
     com.android.tools.r8.ir.optimize.lambda.LambdaMerger this$0 -> m
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.lambda.LambdaMerger$1):494:494 -> <init>
     2:6:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):495:499 -> <init>
@@ -39519,23 +39573,23 @@
     6:6:void process(com.android.tools.r8.ir.optimize.lambda.CodeProcessor$Strategy,com.android.tools.r8.ir.code.StaticPut):526:526 -> a
     7:7:void process(com.android.tools.r8.ir.optimize.lambda.CodeProcessor$Strategy,com.android.tools.r8.ir.code.StaticGet):531:531 -> a
     8:8:void process(com.android.tools.r8.ir.optimize.lambda.CodeProcessor$Strategy,com.android.tools.r8.ir.code.InitClass):536:536 -> a
-com.android.tools.r8.ir.optimize.lambda.LambdaMerger$AnalyzeMode -> com.android.tools.r8.ir.optimize.x0.l:
+com.android.tools.r8.ir.optimize.lambda.LambdaMerger$AnalyzeMode -> com.android.tools.r8.ir.optimize.z0.l:
     com.android.tools.r8.ir.optimize.lambda.LambdaMerger this$0 -> a
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaMerger):113:113 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.ir.optimize.lambda.LambdaMerger$1):113:113 -> <init>
     1:1:void analyzeCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):117:117 -> a
-com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyMode -> com.android.tools.r8.ir.optimize.x0.m:
-    java.util.Map lambdaGroups -> a
-    com.android.tools.r8.ir.optimize.lambda.LambdaMerger this$0 -> c
-    com.android.tools.r8.ir.optimize.lambda.LambdaMerger$LambdaMergerOptimizationInfoFixer optimizationInfoFixer -> b
-    boolean $assertionsDisabled -> d
+com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyMode -> com.android.tools.r8.ir.optimize.z0.m:
+    java.util.Map lambdaGroups -> b
+    com.android.tools.r8.ir.optimize.lambda.LambdaMerger$LambdaMergerOptimizationInfoFixer optimizationInfoFixer -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.optimize.lambda.LambdaMerger this$0 -> d
     1:1:void <clinit>():121:121 -> <clinit>
     1:3:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaMerger,java.util.Map,com.android.tools.r8.ir.optimize.lambda.LambdaMerger$LambdaMergerOptimizationInfoFixer):128:130 -> <init>
     1:33:void rewriteCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.Inliner,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):140:172 -> a
-com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy -> com.android.tools.r8.ir.optimize.x0.n:
-    boolean $assertionsDisabled -> o
-    com.android.tools.r8.ir.optimize.lambda.LambdaMerger$LambdaMergerOptimizationInfoFixer optimizationInfoFixer -> m
-    java.util.Set typeAffectedValues -> n
+com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy -> com.android.tools.r8.ir.optimize.z0.n:
+    boolean $assertionsDisabled -> m
+    com.android.tools.r8.ir.optimize.lambda.LambdaMerger$LambdaMergerOptimizationInfoFixer optimizationInfoFixer -> n
+    java.util.Set typeAffectedValues -> o
     1:1:void <clinit>():540:540 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.lambda.LambdaMerger$LambdaMergerOptimizationInfoFixer,com.android.tools.r8.ir.optimize.lambda.LambdaMerger$1):540:540 -> <init>
     2:4:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaMerger,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.lambda.LambdaMerger$LambdaMergerOptimizationInfoFixer):552:554 -> <init>
@@ -39552,10 +39606,10 @@
     11:11:void process(com.android.tools.r8.ir.optimize.lambda.CodeProcessor$Strategy,com.android.tools.r8.ir.code.InitClass):655:655 -> a
     1:42:void processCode():571:612 -> b
     43:43:boolean typeMayHaveChanged(com.android.tools.r8.ir.code.Value):616:616 -> b
-com.android.tools.r8.ir.optimize.lambda.LambdaMerger$LambdaMergerOptimizationInfoFixer -> com.android.tools.r8.ir.optimize.x0.o:
-    java.util.Map lambdaGroupsClasses -> a
-    com.android.tools.r8.ir.optimize.lambda.LambdaMerger this$0 -> b
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.ir.optimize.lambda.LambdaMerger$LambdaMergerOptimizationInfoFixer -> com.android.tools.r8.ir.optimize.z0.o:
+    java.util.Map lambdaGroupsClasses -> b
+    com.android.tools.r8.ir.optimize.lambda.LambdaMerger this$0 -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():659:659 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaMerger,java.util.Map):664:665 -> <init>
     1:5:void fixup(com.android.tools.r8.graph.DexEncodedField):682:686 -> a
@@ -39563,16 +39617,16 @@
     1:1:java.lang.Object apply(java.lang.Object):659:659 -> apply
     2:6:com.android.tools.r8.graph.DexType apply(com.android.tools.r8.graph.DexType):670:674 -> apply
     2:6:java.lang.Object apply(java.lang.Object):659 -> apply
-com.android.tools.r8.ir.optimize.lambda.LambdaMerger$Mode -> com.android.tools.r8.ir.optimize.x0.p:
+com.android.tools.r8.ir.optimize.lambda.LambdaMerger$Mode -> com.android.tools.r8.ir.optimize.z0.p:
     1:1:void <init>():101:101 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$1):101:101 -> <init>
     void analyzeCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode) -> a
     void rewriteCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.Inliner,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider) -> a
-com.android.tools.r8.ir.optimize.lambda.LambdaTypeVisitor -> com.android.tools.r8.ir.optimize.x0.r:
-    java.util.function.Consumer onLambdaType -> c
-    java.util.function.Predicate isLambdaType -> b
-    boolean $assertionsDisabled -> d
-    com.android.tools.r8.graph.DexItemFactory factory -> a
+com.android.tools.r8.ir.optimize.lambda.LambdaTypeVisitor -> com.android.tools.r8.ir.optimize.z0.r:
+    com.android.tools.r8.graph.DexItemFactory factory -> b
+    java.util.function.Consumer onLambdaType -> d
+    java.util.function.Predicate isLambdaType -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():25:25 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.DexItemFactory,java.util.function.Predicate,java.util.function.Consumer):31:34 -> <init>
     1:4:void accept(com.android.tools.r8.graph.DexCallSite):38:41 -> a
@@ -39611,10 +39665,10 @@
     65:65:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():297:297 -> a
     65:65:void accept(com.android.tools.r8.graph.DexMethodHandle):76 -> a
     66:67:void accept(com.android.tools.r8.graph.DexMethodHandle):76:77 -> a
-com.android.tools.r8.ir.optimize.lambda.kotlin.ClassInitializerSourceCode -> com.android.tools.r8.ir.optimize.x0.s.a:
-    boolean $assertionsDisabled -> n
-    com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup group -> m
-    com.android.tools.r8.graph.DexItemFactory factory -> l
+com.android.tools.r8.ir.optimize.lambda.kotlin.ClassInitializerSourceCode -> com.android.tools.r8.ir.optimize.z0.s.a:
+    com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup group -> n
+    boolean $assertionsDisabled -> l
+    com.android.tools.r8.graph.DexItemFactory factory -> m
     1:1:void <clinit>():20:20 -> <clinit>
     1:5:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup,com.android.tools.r8.ir.code.Position):26:30 -> <init>
     1:15:void lambda$prepareInstructions$4(int,com.android.tools.r8.graph.DexType,int,com.android.tools.r8.graph.DexMethod,java.util.List,java.util.List,com.android.tools.r8.ir.optimize.lambda.LambdaGroup$LambdaInfo):46:60 -> a
@@ -39624,35 +39678,35 @@
     1:1:void lambda$prepareInstructions$3(int,int,com.android.tools.r8.ir.conversion.IRBuilder):62:62 -> c
     1:3:void prepareInstructions():35:37 -> h
     4:35:void prepareInstructions():36:67 -> h
-com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup -> com.android.tools.r8.ir.optimize.x0.s.g:
+com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup -> com.android.tools.r8.ir.optimize.z0.s.g:
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$GroupId,com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$1):105:105 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$GroupId):107:107 -> <init>
     1:1:com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$ClassBuilder getBuilder(com.android.tools.r8.graph.DexItemFactory):112:112 -> a
     1:1:com.android.tools.r8.ir.optimize.lambda.LambdaGroupClassBuilder getBuilder(com.android.tools.r8.graph.DexItemFactory):105 -> a
     2:2:com.android.tools.r8.utils.ThrowingConsumer lambdaClassValidator(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppInfoWithClassHierarchy):118:118 -> a
     java.lang.String getGroupSuffix() -> d
-com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$1 -> com.android.tools.r8.ir.optimize.x0.s.b:
-com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$ClassBuilder -> com.android.tools.r8.ir.optimize.x0.s.c:
+com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$1 -> com.android.tools.r8.ir.optimize.z0.s.b:
+com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$ClassBuilder -> com.android.tools.r8.ir.optimize.z0.s.c:
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup,com.android.tools.r8.graph.DexItemFactory,java.lang.String):187:187 -> <init>
     1:4:com.android.tools.r8.ir.synthetic.SyntheticSourceCode createInstanceInitializerSourceCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):198:201 -> a
     5:5:com.android.tools.r8.graph.DexField lambda$createInstanceInitializerSourceCode$0(int):202:202 -> a
     1:1:com.android.tools.r8.graph.DexType getSuperClassType():192:192 -> i
-com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$ClassValidator -> com.android.tools.r8.ir.optimize.x0.s.d:
+com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$ClassValidator -> com.android.tools.r8.ir.optimize.z0.s.d:
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppInfoWithClassHierarchy):159:159 -> <init>
     1:1:int getInstanceInitializerMaxSize(java.util.List):164:164 -> a
     2:9:int validateInstanceInitializerEpilogue(com.android.tools.r8.code.Instruction[],int):171:178 -> a
     10:10:int validateInstanceInitializerEpilogue(com.android.tools.r8.code.Instruction[],int):174:174 -> a
-com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$GroupId -> com.android.tools.r8.ir.optimize.x0.s.e:
+com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$GroupId -> com.android.tools.r8.ir.optimize.z0.s.e:
     1:1:void <init>(com.android.tools.r8.graph.AppView,java.lang.String,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):137:137 -> <init>
     1:1:com.android.tools.r8.ir.optimize.lambda.LambdaGroup createGroup():152:152 -> a
     java.lang.String getLambdaKindDescriptor() -> c
     1:1:boolean equals(java.lang.Object):142:142 -> equals
-com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$InstanceInitializerSourceCode -> com.android.tools.r8.ir.optimize.x0.s.f:
+com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroup$InstanceInitializerSourceCode -> com.android.tools.r8.ir.optimize.z0.s.f:
     com.android.tools.r8.graph.DexMethod objectInitializer -> n
     1:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,java.util.function.IntFunction,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):220:221 -> <init>
     1:7:void lambda$prepareSuperConstructorCall$0(int,com.android.tools.r8.ir.conversion.IRBuilder):228:228 -> c
     1:1:void prepareSuperConstructorCall(int):226:226 -> i
-com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroupIdFactory -> com.android.tools.r8.ir.optimize.x0.s.h:
+com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroupIdFactory -> com.android.tools.r8.ir.optimize.z0.s.h:
     boolean $assertionsDisabled -> n
     com.android.tools.r8.ir.optimize.lambda.kotlin.JStyleLambdaGroupIdFactory INSTANCE -> m
     1:2:void <clinit>():17:18 -> <clinit>
@@ -39684,30 +39738,30 @@
     44:44:com.android.tools.r8.ir.optimize.lambda.LambdaGroupId validateAndCreate(com.android.tools.r8.graph.AppView,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass):34 -> b
     45:45:void validateSuperclass(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass):58:58 -> b
     45:45:com.android.tools.r8.ir.optimize.lambda.LambdaGroupId validateAndCreate(com.android.tools.r8.graph.AppView,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass):34 -> b
-com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup -> com.android.tools.r8.ir.optimize.x0.s.n:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup -> com.android.tools.r8.ir.optimize.z0.s.n:
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$GroupId,com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$1):111:111 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$GroupId):113:113 -> <init>
     1:1:com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$ClassBuilder getBuilder(com.android.tools.r8.graph.DexItemFactory):118:118 -> a
     1:1:com.android.tools.r8.ir.optimize.lambda.LambdaGroupClassBuilder getBuilder(com.android.tools.r8.graph.DexItemFactory):111 -> a
     2:2:com.android.tools.r8.utils.ThrowingConsumer lambdaClassValidator(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppInfoWithClassHierarchy):124:124 -> a
     java.lang.String getGroupSuffix() -> d
-com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$1 -> com.android.tools.r8.ir.optimize.x0.s.i:
-com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$ClassBuilder -> com.android.tools.r8.ir.optimize.x0.s.j:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$1 -> com.android.tools.r8.ir.optimize.z0.s.i:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$ClassBuilder -> com.android.tools.r8.ir.optimize.z0.s.j:
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup,com.android.tools.r8.graph.DexItemFactory,java.lang.String):198:198 -> <init>
     1:7:com.android.tools.r8.ir.synthetic.SyntheticSourceCode createInstanceInitializerSourceCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):209:215 -> a
     8:8:com.android.tools.r8.graph.DexField lambda$createInstanceInitializerSourceCode$0(int):213:213 -> a
     1:1:com.android.tools.r8.graph.DexType getSuperClassType():203:203 -> i
-com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$ClassValidator -> com.android.tools.r8.ir.optimize.x0.s.k:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$ClassValidator -> com.android.tools.r8.ir.optimize.z0.s.k:
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppInfoWithClassHierarchy):165:165 -> <init>
     1:1:int getInstanceInitializerMaxSize(java.util.List):170:170 -> a
     2:14:int validateInstanceInitializerEpilogue(com.android.tools.r8.code.Instruction[],int):177:189 -> a
     15:15:int validateInstanceInitializerEpilogue(com.android.tools.r8.code.Instruction[],int):185:185 -> a
-com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$GroupId -> com.android.tools.r8.ir.optimize.x0.s.l:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$GroupId -> com.android.tools.r8.ir.optimize.z0.s.l:
     1:1:void <init>(com.android.tools.r8.graph.AppView,java.lang.String,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):143:143 -> <init>
     1:1:com.android.tools.r8.ir.optimize.lambda.LambdaGroup createGroup():158:158 -> a
     java.lang.String getLambdaKindDescriptor() -> c
     1:1:boolean equals(java.lang.Object):148:148 -> equals
-com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$InstanceInitializerSourceCode -> com.android.tools.r8.ir.optimize.x0.s.m:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroup$InstanceInitializerSourceCode -> com.android.tools.r8.ir.optimize.z0.s.m:
     int arity -> n
     com.android.tools.r8.graph.DexMethod lambdaInitializer -> o
     1:4:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,java.util.function.IntFunction,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.ir.code.Position):234:237 -> <init>
@@ -39715,7 +39769,7 @@
     1:1:void lambda$prepareSuperConstructorCall$0(int,com.android.tools.r8.ir.conversion.IRBuilder):243:243 -> c
     2:8:void lambda$prepareSuperConstructorCall$1(int,int,com.android.tools.r8.ir.conversion.IRBuilder):246:246 -> c
     1:3:void prepareSuperConstructorCall(int):242:244 -> i
-com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroupIdFactory -> com.android.tools.r8.ir.optimize.x0.s.o:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KStyleLambdaGroupIdFactory -> com.android.tools.r8.ir.optimize.z0.s.o:
     boolean $assertionsDisabled -> n
     com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupIdFactory INSTANCE -> m
     1:2:void <clinit>():17:18 -> <clinit>
@@ -39754,7 +39808,7 @@
     44:44:com.android.tools.r8.ir.optimize.lambda.LambdaGroupId validateAndCreate(com.android.tools.r8.graph.AppView,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass):34 -> b
     45:45:void validateSuperclass(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass):58:58 -> b
     45:45:com.android.tools.r8.ir.optimize.lambda.LambdaGroupId validateAndCreate(com.android.tools.r8.graph.AppView,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass):34 -> b
-com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinInstanceInitializerSourceCode -> com.android.tools.r8.ir.optimize.x0.s.p:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinInstanceInitializerSourceCode -> com.android.tools.r8.ir.optimize.z0.s.p:
     com.android.tools.r8.graph.DexField idField -> l
     java.util.function.IntFunction fieldGenerator -> m
     1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,java.util.function.IntFunction,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):25:27 -> <init>
@@ -39763,11 +39817,11 @@
     3:3:void lambda$prepareInstructions$1(int,int,com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> b
     1:17:void prepareInstructions():32:48 -> h
     void prepareSuperConstructorCall(int) -> i
-com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaClassValidator -> com.android.tools.r8.ir.optimize.x0.s.q:
-    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> c
-    com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup group -> b
-    com.android.tools.r8.kotlin.Kotlin kotlin -> a
-    boolean $assertionsDisabled -> d
+com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaClassValidator -> com.android.tools.r8.ir.optimize.z0.s.q:
+    com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup group -> c
+    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.kotlin.Kotlin kotlin -> b
     1:1:void <clinit>():47:47 -> <clinit>
     1:4:void <init>(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup,com.android.tools.r8.graph.AppInfoWithClassHierarchy):60:63 -> <init>
     int getInstanceInitializerMaxSize(java.util.List) -> a
@@ -39849,7 +39903,7 @@
     233:240:void accept(java.lang.Object):47 -> accept
     241:241:void accept(com.android.tools.r8.graph.DexClass):74:74 -> accept
     241:241:void accept(java.lang.Object):47 -> accept
-com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaConstants -> com.android.tools.r8.ir.optimize.x0.s.r:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaConstants -> com.android.tools.r8.ir.optimize.z0.s.r:
     com.android.tools.r8.graph.FieldAccessFlags CAPTURE_FIELD_FLAGS -> j
     com.android.tools.r8.graph.FieldAccessFlags SINGLETON_FIELD_FLAGS -> i
     com.android.tools.r8.graph.MethodAccessFlags CLASS_INITIALIZER_FLAGS -> c
@@ -39862,9 +39916,9 @@
     com.android.tools.r8.graph.MethodAccessFlags BRIDGE_METHOD_FLAGS -> g
     com.android.tools.r8.graph.MethodAccessFlags BRIDGE_METHOD_FLAGS_FIXED -> h
     1:38:void <clinit>():15:52 -> <clinit>
-com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup -> com.android.tools.r8.ir.optimize.x0.s.s:
-    com.android.tools.r8.ir.optimize.lambda.CodeProcessor$Strategy strategy -> e
-    boolean $assertionsDisabled -> f
+com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup -> com.android.tools.r8.ir.optimize.z0.s.s:
+    com.android.tools.r8.ir.optimize.lambda.CodeProcessor$Strategy strategy -> f
+    boolean $assertionsDisabled -> e
     1:1:void <clinit>():19:19 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaGroupId):23:23 -> <init>
     2:2:void <init>(com.android.tools.r8.ir.optimize.lambda.LambdaGroupId):20:20 -> <init>
@@ -39896,9 +39950,9 @@
     1:1:com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupId id():27:27 -> j
     1:1:boolean isStateless():31 -> j
     2:2:boolean isStateless():31:31 -> j
-com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupClassBuilder -> com.android.tools.r8.ir.optimize.x0.s.t:
-    boolean $assertionsDisabled -> p
-    com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupId id -> o
+com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupClassBuilder -> com.android.tools.r8.ir.optimize.z0.s.t:
+    com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupId id -> p
+    boolean $assertionsDisabled -> o
     1:1:void <clinit>():43:43 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup,com.android.tools.r8.graph.DexItemFactory,java.lang.String):49:50 -> <init>
     com.android.tools.r8.ir.synthetic.SyntheticSourceCode createInstanceInitializerSourceCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position) -> a
@@ -39933,9 +39987,9 @@
     26:26:com.android.tools.r8.graph.DexEncodedMethod[] buildVirtualMethods():121 -> h
     27:46:com.android.tools.r8.graph.DexEncodedMethod[] buildVirtualMethods():116:135 -> h
     1:3:java.util.Map collectVirtualMethods():143:145 -> j
-com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupCodeStrategy -> com.android.tools.r8.ir.optimize.x0.s.u:
-    com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup group -> a
-    boolean $assertionsDisabled -> b
+com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupCodeStrategy -> com.android.tools.r8.ir.optimize.z0.s.u:
+    com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup group -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():36:36 -> <clinit>
     1:2:void <init>(com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroup):39:40 -> <init>
     1:8:boolean isValidStaticFieldWrite(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexField):50:57 -> a
@@ -39944,13 +39998,13 @@
     11:13:boolean isValidVirtualCall(com.android.tools.r8.ir.code.InvokeMethod):110:112 -> a
     14:14:boolean isValidInitClass(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexType):117:117 -> a
     15:22:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.NewInstance):124:131 -> a
-    23:23:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    23:23:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     23:23:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.NewInstance):130 -> a
     24:29:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.NewInstance):130:135 -> a
     30:32:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.InvokeMethod):140:142 -> a
     33:37:void patchInitializer(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.InvokeDirect):227:231 -> a
     33:37:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.InvokeMethod):142 -> a
-    38:38:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    38:38:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     38:38:void patchInitializer(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.InvokeDirect):231 -> a
     38:38:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.InvokeMethod):142 -> a
     39:48:void patchInitializer(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.InvokeDirect):232:241 -> a
@@ -39975,7 +40029,7 @@
     57:65:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.InvokeMethod):142 -> a
     66:66:void patchInitializer(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.InvokeDirect):243:243 -> a
     66:66:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.InvokeMethod):142 -> a
-    67:67:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):35:35 -> a
+    67:67:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):34:34 -> a
     67:67:void patchInitializer(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.InvokeDirect):243 -> a
     67:67:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.InvokeMethod):142 -> a
     68:68:void patchInitializer(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.InvokeDirect):243:243 -> a
@@ -39992,11 +40046,11 @@
     115:115:com.android.tools.r8.graph.DexField mapSingletonInstanceField(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexField):290:290 -> a
     115:115:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.StaticGet):200 -> a
     116:119:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.StaticGet):202:205 -> a
-    120:120:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    120:120:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     120:120:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.StaticGet):204 -> a
     121:127:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.StaticGet):204:210 -> a
     128:129:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.InitClass):215:216 -> a
-    130:130:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
+    130:130:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
     130:130:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.InitClass):216 -> a
     131:132:void patch(com.android.tools.r8.ir.optimize.lambda.LambdaMerger$ApplyStrategy,com.android.tools.r8.ir.code.InitClass):216:217 -> a
     1:5:boolean isValidInstanceFieldWrite(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexField):71:75 -> b
@@ -40005,23 +40059,23 @@
     16:16:boolean isValidInitializerCall(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.InvokeMethod):106 -> b
     17:17:boolean isValidInitializerCall(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.ir.code.InvokeMethod):106:106 -> b
     18:21:com.android.tools.r8.ir.code.Value createValueForType(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexType):249:252 -> b
-    22:22:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> b
+    22:22:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> b
     22:22:com.android.tools.r8.ir.code.Value createValueForType(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexType):251 -> b
     1:4:boolean isValidStaticFieldRead(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexField):62:65 -> c
     1:1:boolean isValidInstanceFieldRead(com.android.tools.r8.ir.optimize.lambda.CodeProcessor,com.android.tools.r8.graph.DexField):80:80 -> d
-com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupId -> com.android.tools.r8.ir.optimize.x0.s.v:
-    com.android.tools.r8.graph.DexProto mainMethodProto -> g
-    com.android.tools.r8.graph.ParameterAnnotationsList mainMethodParamAnnotations -> i
-    int innerClassAccess -> k
-    com.android.tools.r8.graph.DexString mainMethodName -> f
-    boolean $assertionsDisabled -> l
-    com.android.tools.r8.graph.DexType iface -> c
-    com.android.tools.r8.graph.EnclosingMethodAttribute enclosing -> j
-    java.lang.String capture -> b
-    java.lang.String signature -> e
-    com.android.tools.r8.graph.DexAnnotationSet mainMethodAnnotations -> h
-    int hash -> a
-    java.lang.String pkg -> d
+com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupId -> com.android.tools.r8.ir.optimize.z0.s.v:
+    java.lang.String signature -> f
+    com.android.tools.r8.graph.DexProto mainMethodProto -> h
+    int innerClassAccess -> l
+    com.android.tools.r8.graph.ParameterAnnotationsList mainMethodParamAnnotations -> j
+    com.android.tools.r8.graph.DexString mainMethodName -> g
+    com.android.tools.r8.graph.DexType iface -> d
+    boolean $assertionsDisabled -> a
+    int hash -> b
+    java.lang.String capture -> c
+    java.lang.String pkg -> e
+    com.android.tools.r8.graph.DexAnnotationSet mainMethodAnnotations -> i
+    com.android.tools.r8.graph.EnclosingMethodAttribute enclosing -> k
     1:1:void <clinit>():20:20 -> <clinit>
     1:14:void <init>(com.android.tools.r8.graph.AppView,java.lang.String,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):63:76 -> <init>
     1:12:boolean computeEquals(com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupId):106:117 -> a
@@ -40029,7 +40083,7 @@
     java.lang.String getLambdaKindDescriptor() -> c
     1:1:int hashCode():85:85 -> hashCode
     1:21:java.lang.String toString():122:142 -> toString
-com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupIdFactory -> com.android.tools.r8.ir.optimize.x0.s.w:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaGroupIdFactory -> com.android.tools.r8.ir.optimize.z0.s.w:
     boolean $assertionsDisabled -> l
     1:1:void <clinit>():22:22 -> <clinit>
     1:1:void <init>():23:23 -> <init>
@@ -40113,7 +40167,7 @@
     35:35:void com.android.tools.r8.ir.optimize.lambda.LambdaGroup$LambdaStructureError.<init>(java.lang.String):221:221 -> c
     35:35:java.lang.String validateAnnotations(com.android.tools.r8.graph.AppView,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass):123 -> c
     36:38:java.lang.String validateAnnotations(com.android.tools.r8.graph.AppView,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass):123:125 -> c
-com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaVirtualMethodSourceCode -> com.android.tools.r8.ir.optimize.x0.s.x:
+com.android.tools.r8.ir.optimize.lambda.kotlin.KotlinLambdaVirtualMethodSourceCode -> com.android.tools.r8.ir.optimize.z0.s.x:
     com.android.tools.r8.graph.DexItemFactory factory -> l
     java.util.List implMethods -> n
     com.android.tools.r8.graph.DexField idField -> m
@@ -40130,7 +40184,7 @@
     1:1:void lambda$prepareInstructions$6(int,com.android.tools.r8.ir.conversion.IRBuilder):102:102 -> e
     1:1:void lambda$prepareInstructions$7(int,com.android.tools.r8.ir.conversion.IRBuilder):103:103 -> f
     1:65:void prepareInstructions():41:105 -> h
-com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer -> com.android.tools.r8.ir.optimize.y0.a:
+com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer -> com.android.tools.r8.ir.optimize.A0.a:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     1:3:void <init>(com.android.tools.r8.graph.AppView):26:28 -> <init>
@@ -40143,86 +40197,99 @@
     14:22:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):46 -> a
     23:23:void optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set):75:75 -> a
     23:23:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):46 -> a
-com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer -> com.android.tools.r8.ir.optimize.y0.b:
+com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer -> com.android.tools.r8.ir.optimize.A0.b:
     com.android.tools.r8.graph.AppView appView -> a
     1:2:void <init>(com.android.tools.r8.graph.AppView):25:26 -> <init>
     1:1:com.android.tools.r8.graph.DexType getType():31:31 -> a
     2:3:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):41:42 -> a
-    4:29:void insertAssumeDynamicType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):50:75 -> a
-    4:29:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):43 -> a
-com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer -> com.android.tools.r8.ir.optimize.y0.c:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map libraryMethodModelCollections -> d
-    java.util.Set modeledLibraryTypes -> c
-    boolean $assertionsDisabled -> e
-    java.util.Set finalLibraryFields -> b
+    4:25:void insertAssumeDynamicType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):50:71 -> a
+    4:25:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):43 -> a
+    26:26:com.android.tools.r8.ir.code.Assume com.android.tools.r8.ir.code.Assume.createAssumeDynamicTypeInstruction(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):61:61 -> a
+    26:26:void insertAssumeDynamicType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):72 -> a
+    26:26:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):43 -> a
+    27:28:void insertAssumeDynamicType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):74:75 -> a
+    27:28:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):43 -> a
+com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer -> com.android.tools.r8.ir.optimize.A0.c:
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set finalLibraryFields -> c
+    java.util.Set modeledLibraryTypes -> d
+    boolean $assertionsDisabled -> a
+    java.util.Map libraryMethodModelCollections -> e
     1:1:void <clinit>():28:28 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):41:41 -> <init>
-    2:31:void <init>(com.android.tools.r8.graph.AppView):33:62 -> <init>
-    1:2:void initializeFinalLibraryFields():66:67 -> a
-    3:3:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):69:69 -> a
-    4:4:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> a
-    4:4:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):69 -> a
-    5:5:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():134:134 -> a
-    5:5:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):71 -> a
-    6:8:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):72:74 -> a
-    9:9:boolean isFinalLibraryField(com.android.tools.r8.graph.DexEncodedField):83:83 -> a
-    10:10:boolean isModeled(com.android.tools.r8.graph.DexType):99:99 -> a
-    11:15:void register(com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection):103:107 -> a
-    16:16:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):116:116 -> a
-    17:17:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
-    17:17:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):117 -> a
-    18:22:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):118:122 -> a
-    23:25:void optimizeInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):139:141 -> a
-    23:25:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):124 -> a
-    26:28:void optimizeInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):140:142 -> a
-    26:28:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):124 -> a
-    29:30:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):128:129 -> a
-    31:31:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    31:31:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):129 -> a
-    32:32:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):129:129 -> a
-com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection -> com.android.tools.r8.ir.optimize.y0.d:
+    2:30:void <init>(com.android.tools.r8.graph.AppView):33:61 -> <init>
+    1:2:void initializeFinalLibraryFields():65:66 -> a
+    3:3:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):68:68 -> a
+    4:4:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():134:134 -> a
+    4:4:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):70 -> a
+    5:7:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):71:73 -> a
+    8:8:boolean isFinalLibraryField(com.android.tools.r8.graph.DexEncodedField):82:82 -> a
+    9:9:boolean isModeled(com.android.tools.r8.graph.DexType):98:98 -> a
+    10:14:void register(com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection):102:106 -> a
+    15:15:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):115:115 -> a
+    16:16:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
+    16:16:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):116 -> a
+    17:21:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):117:121 -> a
+    22:24:void optimizeInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):138:140 -> a
+    22:24:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):123 -> a
+    25:27:void optimizeInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):139:141 -> a
+    25:27:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):123 -> a
+    28:29:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):127:128 -> a
+    30:30:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    30:30:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):128 -> a
+    31:31:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):128:128 -> a
+com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection -> com.android.tools.r8.ir.optimize.A0.d:
     com.android.tools.r8.graph.DexType getType() -> a
     void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set) -> a
-com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer -> com.android.tools.r8.ir.optimize.y0.e:
+com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer -> com.android.tools.r8.ir.optimize.A0.e:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
     com.android.tools.r8.graph.AppView appView -> b
     com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> a
     com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback feedback -> d
     java.util.Set modeledLibraryTypes -> e
-    1:1:void <init>(com.android.tools.r8.graph.AppView):30:30 -> <init>
-    2:8:void <init>(com.android.tools.r8.graph.AppView):27:33 -> <init>
-    1:1:java.util.Set getModeledLibraryTypes():44:44 -> a
-    2:2:void modelStaticFinalLibraryFields(java.util.Set):48:48 -> a
-    2:2:void run(java.util.Set):37 -> a
+    1:1:void <init>(com.android.tools.r8.graph.AppView):33:33 -> <init>
+    2:8:void <init>(com.android.tools.r8.graph.AppView):30:36 -> <init>
+    1:1:java.util.Set getModeledLibraryTypes():47:47 -> a
+    2:2:void modelStaticFinalLibraryFields(java.util.Set):51:51 -> a
+    2:2:void run(java.util.Set):40 -> a
     3:3:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> a
-    3:3:void modelStaticFinalLibraryFields(java.util.Set):49 -> a
-    3:3:void run(java.util.Set):37 -> a
-    4:4:void modelStaticFinalLibraryFields(java.util.Set):50:50 -> a
-    4:4:void run(java.util.Set):37 -> a
+    3:3:void modelStaticFinalLibraryFields(java.util.Set):52 -> a
+    3:3:void run(java.util.Set):40 -> a
+    4:4:void modelStaticFinalLibraryFields(java.util.Set):53:53 -> a
+    4:4:void run(java.util.Set):40 -> a
     5:5:com.android.tools.r8.ir.analysis.value.ObjectState com.android.tools.r8.ir.analysis.value.ObjectState.empty():22:22 -> a
-    5:5:void modelStaticFinalLibraryFields(java.util.Set):51 -> a
-    5:5:void run(java.util.Set):37 -> a
-    6:6:void modelStaticFinalLibraryFields(java.util.Set):51:51 -> a
-    6:6:void run(java.util.Set):37 -> a
-    7:7:void modelStaticFinalLibraryFields(java.util.Set):50:50 -> a
-    7:7:void run(java.util.Set):37 -> a
-    8:11:void modelLibraryMethodsReturningNonNull():57:60 -> a
-    8:11:void run(java.util.Set):38 -> a
-    12:15:void modelLibraryMethodsReturningReceiver():66:69 -> a
-    12:15:void run(java.util.Set):39 -> a
-    16:16:void modelRequireNonNullMethods():75:75 -> a
-    16:16:void run(java.util.Set):40 -> a
-    17:17:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1172:1172 -> a
-    17:17:void modelRequireNonNullMethods():75 -> a
-    17:17:void run(java.util.Set):40 -> a
-    18:29:void modelRequireNonNullMethods():75:86 -> a
-    18:29:void run(java.util.Set):40 -> a
-    30:30:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):92:92 -> a
-    31:31:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
-    31:31:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):92 -> a
-    32:32:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):94:94 -> a
-com.android.tools.r8.ir.optimize.library.LogMethodOptimizer -> com.android.tools.r8.ir.optimize.y0.f:
+    5:5:void modelStaticFinalLibraryFields(java.util.Set):54 -> a
+    5:5:void run(java.util.Set):40 -> a
+    6:6:void modelStaticFinalLibraryFields(java.util.Set):54:54 -> a
+    6:6:void run(java.util.Set):40 -> a
+    7:7:void modelStaticFinalLibraryFields(java.util.Set):53:53 -> a
+    7:7:void run(java.util.Set):40 -> a
+    8:17:void modelLibraryMethodsReturningNonNull():60:69 -> a
+    8:17:void run(java.util.Set):41 -> a
+    18:18:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo.getDynamicUpperBoundTypeOrElse(com.android.tools.r8.ir.analysis.type.TypeElement):39:39 -> a
+    18:18:void modelLibraryMethodsReturningNonNull():70 -> a
+    18:18:void run(java.util.Set):41 -> a
+    19:19:void modelLibraryMethodsReturningNonNull():71:71 -> a
+    19:19:void run(java.util.Set):41 -> a
+    20:102:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement.asDefinitelyNotNull():0:82 -> a
+    20:102:void modelLibraryMethodsReturningNonNull():72 -> a
+    20:102:void run(java.util.Set):41 -> a
+    103:103:void modelLibraryMethodsReturningNonNull():65:65 -> a
+    103:103:void run(java.util.Set):41 -> a
+    104:107:void modelLibraryMethodsReturningReceiver():78:81 -> a
+    104:107:void run(java.util.Set):42 -> a
+    108:108:void modelRequireNonNullMethods():87:87 -> a
+    108:108:void run(java.util.Set):43 -> a
+    109:109:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1177:1177 -> a
+    109:109:void modelRequireNonNullMethods():87 -> a
+    109:109:void run(java.util.Set):43 -> a
+    110:121:void modelRequireNonNullMethods():87:98 -> a
+    110:121:void run(java.util.Set):43 -> a
+    122:122:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):104:104 -> a
+    123:123:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
+    123:123:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):104 -> a
+    124:124:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):106:106 -> a
+com.android.tools.r8.ir.optimize.library.LogMethodOptimizer -> com.android.tools.r8.ir.optimize.A0.f:
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.graph.DexMethod wtfMethod -> i
     com.android.tools.r8.graph.DexMethod eMethod -> h
@@ -40244,28 +40311,28 @@
     4:4:com.android.tools.r8.graph.DexType getType():99:99 -> a
     5:39:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):109:143 -> a
     40:43:void replaceInvokeWithConstNumber(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,int):150:153 -> a
-com.android.tools.r8.ir.optimize.library.NopLibraryMethodModelCollection -> com.android.tools.r8.ir.optimize.y0.g:
+com.android.tools.r8.ir.optimize.library.NopLibraryMethodModelCollection -> com.android.tools.r8.ir.optimize.A0.g:
     com.android.tools.r8.ir.optimize.library.NopLibraryMethodModelCollection INSTANCE -> a
     1:1:void <clinit>():18:18 -> <clinit>
     1:1:void <init>():21:21 -> <init>
     void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set) -> a
     1:1:com.android.tools.r8.graph.DexType getType():29:29 -> a
     1:1:com.android.tools.r8.ir.optimize.library.NopLibraryMethodModelCollection getInstance():24:24 -> b
-com.android.tools.r8.ir.optimize.library.ObjectMethodOptimizer -> com.android.tools.r8.ir.optimize.y0.h:
+com.android.tools.r8.ir.optimize.library.ObjectMethodOptimizer -> com.android.tools.r8.ir.optimize.A0.h:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
     1:2:void <init>(com.android.tools.r8.graph.AppView):21:22 -> <init>
     1:1:com.android.tools.r8.graph.DexType getType():27:27 -> a
     2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):37:37 -> a
     3:5:void optimizeGetClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):43:45 -> a
     3:5:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):38 -> a
-com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer -> com.android.tools.r8.ir.optimize.y0.i:
+com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer -> com.android.tools.r8.ir.optimize.A0.i:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
     1:2:void <init>(com.android.tools.r8.graph.AppView):21:22 -> <init>
     1:1:com.android.tools.r8.graph.DexType getType():27:27 -> a
     2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):37:37 -> a
     3:11:void optimizeRequireNonNull(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set):44:52 -> a
     3:11:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):38 -> a
-com.android.tools.r8.ir.optimize.library.StringMethodOptimizer -> com.android.tools.r8.ir.optimize.y0.j:
+com.android.tools.r8.ir.optimize.library.StringMethodOptimizer -> com.android.tools.r8.ir.optimize.A0.j:
     com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
     com.android.tools.r8.graph.AppView appView -> a
     1:3:void <init>(com.android.tools.r8.graph.AppView):26:28 -> <init>
@@ -40274,7 +40341,7 @@
     3:9:void optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):50:56 -> a
     3:9:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):44 -> a
     10:33:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):68:91 -> a
-com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher -> com.android.tools.r8.ir.optimize.z0.a:
+com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher -> com.android.tools.r8.ir.optimize.B0.a:
     1:1:java.util.List nonDestructivePeepholes():22:22 -> a
     1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):37 -> a
     2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):37:37 -> a
@@ -40288,10 +40355,10 @@
     35:35:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
     35:35:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):71 -> a
     36:40:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):71:75 -> a
-com.android.tools.r8.ir.optimize.peepholes.BasicBlockPeephole -> com.android.tools.r8.ir.optimize.z0.b:
+com.android.tools.r8.ir.optimize.peepholes.BasicBlockPeephole -> com.android.tools.r8.ir.optimize.B0.b:
     boolean match(com.android.tools.r8.ir.code.InstructionListIterator) -> a
     boolean resetAfterMatch() -> a
-com.android.tools.r8.ir.optimize.peepholes.DupDupDupPeephole -> com.android.tools.r8.ir.optimize.z0.c:
+com.android.tools.r8.ir.optimize.peepholes.DupDupDupPeephole -> com.android.tools.r8.ir.optimize.B0.c:
     com.android.tools.r8.ir.optimize.peepholes.Point dup3Exp -> c
     com.android.tools.r8.ir.optimize.peepholes.Point dup2Exp -> b
     com.android.tools.r8.ir.optimize.peepholes.Point dup1Exp -> a
@@ -40306,28 +40373,28 @@
     37:68:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):78 -> a
     1:1:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):33:33 -> b
     1:1:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):35:35 -> c
-com.android.tools.r8.ir.optimize.peepholes.LoadLoadDupPeephole -> com.android.tools.r8.ir.optimize.z0.d:
-    com.android.tools.r8.ir.optimize.peepholes.Point firstLoadExp -> b
-    com.android.tools.r8.ir.optimize.peepholes.Point lastLoadExp -> a
-    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> c
-    boolean $assertionsDisabled -> d
+com.android.tools.r8.ir.optimize.peepholes.LoadLoadDupPeephole -> com.android.tools.r8.ir.optimize.B0.d:
+    com.android.tools.r8.ir.optimize.peepholes.Point firstLoadExp -> c
+    com.android.tools.r8.ir.optimize.peepholes.Point lastLoadExp -> b
+    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():30:30 -> <clinit>
     1:8:void <init>():30:37 -> <init>
     boolean resetAfterMatch() -> a
     1:24:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):41:64 -> a
     25:25:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
     25:25:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):64 -> a
-com.android.tools.r8.ir.optimize.peepholes.Match -> com.android.tools.r8.ir.optimize.z0.e:
+com.android.tools.r8.ir.optimize.peepholes.Match -> com.android.tools.r8.ir.optimize.B0.e:
     java.util.List instructions -> a
     1:3:void <init>(com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[],java.util.List):14:16 -> <init>
-com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole -> com.android.tools.r8.ir.optimize.z0.f:
-    com.android.tools.r8.ir.optimize.peepholes.Point firstLoad -> d
-    com.android.tools.r8.ir.code.Instruction insertPosition -> c
-    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> f
-    boolean $assertionsDisabled -> g
-    com.android.tools.r8.ir.optimize.peepholes.Wildcard canMoveOver -> e
-    com.android.tools.r8.ir.code.Value local -> a
-    int stackHeight -> b
+com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole -> com.android.tools.r8.ir.optimize.B0.f:
+    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> g
+    com.android.tools.r8.ir.code.Instruction insertPosition -> d
+    com.android.tools.r8.ir.optimize.peepholes.Point firstLoad -> e
+    com.android.tools.r8.ir.code.Value local -> b
+    com.android.tools.r8.ir.optimize.peepholes.Wildcard canMoveOver -> f
+    boolean $assertionsDisabled -> a
+    int stackHeight -> c
     1:1:void <clinit>():33:33 -> <clinit>
     1:34:void <init>():33:66 -> <init>
     boolean resetAfterMatch() -> a
@@ -40343,12 +40410,12 @@
     55:86:void com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper.resetPrevious(com.android.tools.r8.ir.code.InstructionListIterator,int):0:31 -> a
     55:86:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):102 -> a
     1:10:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):51:60 -> b
-com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression -> com.android.tools.r8.ir.optimize.z0.g:
+com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression -> com.android.tools.r8.ir.optimize.B0.g:
     int getMin() -> a
     void setIndex(int) -> a
     java.util.function.Predicate getPredicate() -> b
     int getMax() -> c
-com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper -> com.android.tools.r8.ir.optimize.z0.h:
+com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper -> com.android.tools.r8.ir.optimize.B0.h:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:java.util.function.Predicate withoutLocalInfo(java.util.function.Predicate):17:17 -> a
@@ -40359,7 +40426,7 @@
     23:23:boolean lambda$moveInstructionsUpToCurrentPosition$1(java.util.List,com.android.tools.r8.ir.code.Instruction):64:64 -> a
     1:4:int numberOfValuesPutOnStack(com.android.tools.r8.ir.code.Instruction):36:39 -> b
     5:5:boolean lambda$moveInstructionsUpToCurrentPosition$2(java.util.List,com.android.tools.r8.ir.code.Instruction):70:70 -> b
-com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout -> com.android.tools.r8.ir.optimize.z0.i:
+com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout -> com.android.tools.r8.ir.optimize.B0.i:
     com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[] expressions -> b
     java.util.List instructions -> a
     boolean backwards -> c
@@ -40374,10 +40441,10 @@
     1:1:com.android.tools.r8.ir.code.Instruction lambda$test$4(com.android.tools.r8.ir.code.InstructionListIterator):40:40 -> e
     1:1:void lambda$test$5(com.android.tools.r8.ir.code.InstructionListIterator):40:40 -> f
     1:4:com.android.tools.r8.ir.optimize.peepholes.Match test(com.android.tools.r8.ir.code.InstructionListIterator):37:40 -> g
-com.android.tools.r8.ir.optimize.peepholes.Point -> com.android.tools.r8.ir.optimize.z0.j:
-    java.util.function.Predicate predicate -> a
-    int index -> b
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.ir.optimize.peepholes.Point -> com.android.tools.r8.ir.optimize.B0.j:
+    java.util.function.Predicate predicate -> b
+    boolean $assertionsDisabled -> a
+    int index -> c
     1:1:void <clinit>():10:10 -> <clinit>
     1:1:void <init>(java.util.function.Predicate):15:15 -> <init>
     2:5:void <init>(java.util.function.Predicate):13:16 -> <init>
@@ -40386,26 +40453,26 @@
     3:3:com.android.tools.r8.ir.code.Instruction get(com.android.tools.r8.ir.optimize.peepholes.Match):41:41 -> a
     1:1:java.util.function.Predicate getPredicate():21:21 -> b
     int getMax() -> c
-com.android.tools.r8.ir.optimize.peepholes.StoreLoadPeephole -> com.android.tools.r8.ir.optimize.z0.k:
+com.android.tools.r8.ir.optimize.peepholes.StoreLoadPeephole -> com.android.tools.r8.ir.optimize.B0.k:
     com.android.tools.r8.ir.optimize.peepholes.Point loadExp -> b
     com.android.tools.r8.ir.optimize.peepholes.Point storeExp -> a
     com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> c
     1:6:void <init>():22:27 -> <init>
     boolean resetAfterMatch() -> a
     1:18:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):31:48 -> a
-com.android.tools.r8.ir.optimize.peepholes.StoreLoadToDupStorePeephole -> com.android.tools.r8.ir.optimize.z0.l:
-    com.android.tools.r8.ir.optimize.peepholes.Point loadExp -> b
-    com.android.tools.r8.ir.optimize.peepholes.Point storeExp -> a
-    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ir.optimize.peepholes.Wildcard dupsExp -> c
+com.android.tools.r8.ir.optimize.peepholes.StoreLoadToDupStorePeephole -> com.android.tools.r8.ir.optimize.B0.l:
+    com.android.tools.r8.ir.optimize.peepholes.Point loadExp -> c
+    com.android.tools.r8.ir.optimize.peepholes.Point storeExp -> b
+    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> e
+    com.android.tools.r8.ir.optimize.peepholes.Wildcard dupsExp -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():33:33 -> <clinit>
     1:7:void <init>():33:39 -> <init>
     boolean lambda$match$1(com.android.tools.r8.ir.code.Load,com.android.tools.r8.ir.code.Instruction) -> a
     boolean resetAfterMatch() -> a
     1:1:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):37:37 -> a
     2:39:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):43:80 -> a
-com.android.tools.r8.ir.optimize.peepholes.StoreSequenceLoadPeephole -> com.android.tools.r8.ir.optimize.z0.m:
+com.android.tools.r8.ir.optimize.peepholes.StoreSequenceLoadPeephole -> com.android.tools.r8.ir.optimize.B0.m:
     com.android.tools.r8.ir.optimize.peepholes.Point storeExp -> c
     com.android.tools.r8.ir.code.Store store -> a
     com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> f
@@ -40422,10 +40489,10 @@
     51:51:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):126:126 -> a
     1:10:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):56:65 -> b
     1:4:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):72:75 -> c
-com.android.tools.r8.ir.optimize.peepholes.Wildcard -> com.android.tools.r8.ir.optimize.z0.n:
-    java.util.function.Predicate predicate -> a
-    int index -> b
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.ir.optimize.peepholes.Wildcard -> com.android.tools.r8.ir.optimize.B0.n:
+    java.util.function.Predicate predicate -> b
+    boolean $assertionsDisabled -> a
+    int index -> c
     1:1:void <clinit>():11:11 -> <clinit>
     1:1:void <init>(java.util.function.Predicate):16:16 -> <init>
     2:5:void <init>(java.util.function.Predicate):14:17 -> <init>
@@ -40434,13 +40501,13 @@
     3:3:java.util.List get(com.android.tools.r8.ir.optimize.peepholes.Match):42:42 -> a
     1:1:java.util.function.Predicate getPredicate():22:22 -> b
     int getMax() -> c
-com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer -> com.android.tools.r8.ir.optimize.A0.d:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map referencedFrom -> d
-    java.util.concurrent.ConcurrentHashMap candidates -> e
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.ir.conversion.IRConverter converter -> c
+com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer -> com.android.tools.r8.ir.optimize.C0.d:
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    com.android.tools.r8.ir.conversion.IRConverter converter -> d
+    java.util.concurrent.ConcurrentHashMap candidates -> f
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    java.util.Map referencedFrom -> e
     1:1:void <clinit>():55:55 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):110:110 -> <init>
     2:11:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):104:113 -> <init>
@@ -40503,8 +40570,8 @@
     1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder lambda$examineMethodCode$3(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo):315:315 -> b
     2:2:boolean lambda$isValidValueUser$6(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):633:633 -> b
     1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder lambda$examineMethodCode$4(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo):331:331 -> c
-com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$1 -> com.android.tools.r8.ir.optimize.A0.a:
-com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CallSiteReferencesInvalidator -> com.android.tools.r8.ir.optimize.A0.b:
+com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$1 -> com.android.tools.r8.ir.optimize.C0.a:
+com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CallSiteReferencesInvalidator -> com.android.tools.r8.ir.optimize.C0.b:
     com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer this$0 -> a
     1:1:void <init>(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$1):683:683 -> <init>
     2:3:void <init>(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.graph.DexItemFactory):685:686 -> <init>
@@ -40522,208 +40589,208 @@
     1:1:boolean registerStaticFieldRead(com.android.tools.r8.graph.DexField):748:748 -> registerStaticFieldRead
     1:1:boolean registerStaticFieldWrite(com.android.tools.r8.graph.DexField):753:753 -> registerStaticFieldWrite
     1:3:boolean registerTypeReference(com.android.tools.r8.graph.DexType):758:760 -> registerTypeReference
-com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo -> com.android.tools.r8.ir.optimize.A0.c:
-    java.util.concurrent.atomic.AtomicInteger instancesCreated -> e
-    com.android.tools.r8.graph.DexEncodedField singletonField -> b
-    java.util.concurrent.atomic.AtomicInteger fieldWrites -> d
-    boolean $assertionsDisabled -> i
-    java.util.concurrent.atomic.AtomicReference getter -> g
-    java.util.concurrent.atomic.AtomicBoolean preserveRead -> c
-    com.android.tools.r8.graph.DexProgramClass candidate -> a
-    java.util.concurrent.atomic.AtomicReference constructor -> f
-    com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer this$0 -> h
+com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo -> com.android.tools.r8.ir.optimize.C0.c:
+    java.util.concurrent.atomic.AtomicInteger fieldWrites -> e
+    java.util.concurrent.atomic.AtomicInteger instancesCreated -> f
+    java.util.concurrent.atomic.AtomicReference constructor -> g
+    java.util.concurrent.atomic.AtomicBoolean preserveRead -> d
+    java.util.concurrent.atomic.AtomicReference getter -> h
+    com.android.tools.r8.graph.DexProgramClass candidate -> b
+    com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer this$0 -> i
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexEncodedField singletonField -> c
     1:1:void <clinit>():63:63 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):74:74 -> <init>
     2:17:void <init>(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):66:81 -> <init>
     1:1:com.android.tools.r8.graph.DexProgramClass hostClass():93:93 -> a
     2:2:com.android.tools.r8.graph.DexType hostType():89:89 -> a
     2:2:com.android.tools.r8.graph.DexProgramClass hostClass():93 -> a
-    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     3:3:com.android.tools.r8.graph.DexProgramClass hostClass():93 -> a
     4:5:com.android.tools.r8.graph.DexProgramClass hostClass():93:94 -> a
     1:1:com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo invalidate():99:99 -> b
-com.android.tools.r8.ir.optimize.staticizer.ClassStaticizerGraphLense -> com.android.tools.r8.ir.optimize.A0.e:
+com.android.tools.r8.ir.optimize.staticizer.ClassStaticizerGraphLense -> com.android.tools.r8.ir.optimize.C0.e:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap):22:28 -> <init>
     8:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap):21:21 -> <init>
     1:3:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):33:35 -> mapInvocationType
-com.android.tools.r8.ir.optimize.staticizer.StaticizingProcessor -> com.android.tools.r8.ir.optimize.A0.f:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer classStaticizer -> b
-    com.android.tools.r8.utils.collections.SortedProgramMethodSet methodsToReprocess -> d
-    boolean $assertionsDisabled -> l
-    com.android.tools.r8.utils.collections.ProgramMethodSet methodsToBeStaticized -> h
-    java.util.Map singletonFields -> i
-    java.util.Map singletonGetters -> j
-    com.android.tools.r8.utils.collections.ProgramMethodSet referencingExtraMethods -> f
-    java.util.Map candidateToHostMapping -> k
-    java.util.Map processingQueue -> e
-    com.android.tools.r8.ir.conversion.IRConverter converter -> c
-    java.util.Map hostClassInits -> g
-    1:1:void <clinit>():69:69 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.ir.conversion.IRConverter):91:91 -> <init>
-    2:21:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.ir.conversion.IRConverter):75:94 -> <init>
-    1:1:void lambda$run$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo):112:112 -> a
-    2:5:void lambda$run$1(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):116:119 -> a
-    6:6:void lambda$run$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):125:125 -> a
-    7:16:java.util.Map finalEligibilityCheck():155:164 -> a
+com.android.tools.r8.ir.optimize.staticizer.StaticizingProcessor -> com.android.tools.r8.ir.optimize.C0.f:
+    com.android.tools.r8.ir.conversion.IRConverter converter -> d
+    com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer classStaticizer -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.utils.collections.SortedProgramMethodSet methodsToReprocess -> e
+    com.android.tools.r8.utils.collections.ProgramMethodSet referencingExtraMethods -> g
+    java.util.Map singletonFields -> j
+    java.util.Map singletonGetters -> k
+    java.util.Map candidateToHostMapping -> l
+    boolean $assertionsDisabled -> a
+    java.util.Map processingQueue -> f
+    java.util.Map hostClassInits -> h
+    com.android.tools.r8.utils.collections.ProgramMethodSet methodsToBeStaticized -> i
+    1:1:void <clinit>():70:70 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.ir.conversion.IRConverter):92:92 -> <init>
+    2:21:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer,com.android.tools.r8.ir.conversion.IRConverter):76:95 -> <init>
+    1:1:void lambda$run$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo):113:113 -> a
+    2:5:void lambda$run$1(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):117:120 -> a
+    6:6:void lambda$run$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):126:126 -> a
+    7:16:java.util.Map finalEligibilityCheck():156:165 -> a
     17:17:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo.hostType():89:89 -> a
-    17:17:java.util.Map finalEligibilityCheck():165 -> a
-    18:87:java.util.Map finalEligibilityCheck():166:235 -> a
+    17:17:java.util.Map finalEligibilityCheck():166 -> a
+    18:87:java.util.Map finalEligibilityCheck():167:236 -> a
     88:88:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.build(com.android.tools.r8.graph.AppView):52:52 -> a
-    88:88:java.util.Map finalEligibilityCheck():235 -> a
-    89:128:java.util.Map finalEligibilityCheck():236:275 -> a
-    129:142:java.util.Map finalEligibilityCheck():274:287 -> a
-    143:151:com.android.tools.r8.utils.TraversalContinuation lambda$finalEligibilityCheck$5(java.util.Set,java.util.Set,com.android.tools.r8.graph.ProgramMethod):210:218 -> a
-    152:157:com.android.tools.r8.utils.TraversalContinuation lambda$finalEligibilityCheck$5(java.util.Set,java.util.Set,com.android.tools.r8.graph.ProgramMethod):217:222 -> a
-    158:165:boolean lambda$finalEligibilityCheck$7(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo,com.android.tools.r8.ir.code.Instruction):250:257 -> a
-    166:193:void prepareCandidates(java.util.Map):296:323 -> a
-    194:197:boolean validMethods(com.android.tools.r8.utils.collections.ProgramMethodSet):332:335 -> a
-    194:197:void prepareCandidates(java.util.Map):324 -> a
-    198:201:void prepareCandidates(java.util.Map):325:328 -> a
-    202:204:boolean lambda$prepareCandidates$8(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):310:312 -> a
-    205:209:void enqueueMethodsWithCodeOptimizations(java.lang.Iterable,java.util.function.Consumer):343:347 -> a
-    210:210:void enqueueMethodsWithCodeOptimizations(java.lang.Iterable,java.util.function.Consumer):346:346 -> a
-    211:211:void enqueueMethodsWithCodeOptimizations(java.lang.Iterable,java.util.function.Consumer):345:345 -> a
-    212:212:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder lambda$enqueueMethodsWithCodeOptimizations$9(com.android.tools.r8.graph.DexEncodedMethod):347:347 -> a
-    213:226:void processMethodsConcurrently(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):363:376 -> a
-    227:230:void lambda$processMethodsConcurrently$10(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessingId):367:367 -> a
-    231:234:void forEachMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Collection,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):386:389 -> a
-    235:235:void lambda$forEachMethod$11(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,java.util.function.BiConsumer):387:387 -> a
-    236:236:void insertAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):393:393 -> a
-    237:237:java.util.function.BiConsumer collectOptimizationInfo(com.android.tools.r8.ir.optimize.info.OptimizationFeedback):398:398 -> a
-    238:245:void lambda$collectOptimizationInfo$12(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):399:399 -> a
-    246:248:boolean lambda$rewriteReferences$13(com.android.tools.r8.ir.code.Instruction):466:468 -> a
-    249:253:boolean lambda$rewriteReferences$13(com.android.tools.r8.ir.code.Instruction):467:471 -> a
-    254:254:boolean lambda$rewriteReferences$13(com.android.tools.r8.ir.code.Instruction):470:470 -> a
-    255:275:boolean testAndCollectPhisComposedOfThis(java.util.Set,java.util.Set,com.android.tools.r8.ir.code.Value,java.util.Set):499:519 -> a
-    276:280:void fixupStaticizedThisUsers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):526:530 -> a
-    281:298:void fixupStaticizedThisUsers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):529:546 -> a
-    299:326:boolean testAndCollectPhisComposedOfSameMember(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMember,java.util.Set):585:612 -> a
-    327:333:void fixupStaticizedFieldUsers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMember):620:626 -> a
-    334:351:void fixupStaticizedFieldUsers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMember):625:642 -> a
-    352:361:void fixupStaticizedValueUsers(com.android.tools.r8.ir.code.IRCode,java.util.Set):646:655 -> a
-    362:362:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> a
-    362:362:void fixupStaticizedValueUsers(com.android.tools.r8.ir.code.IRCode,java.util.Set):655 -> a
-    363:370:void fixupStaticizedValueUsers(com.android.tools.r8.ir.code.IRCode,java.util.Set):656:663 -> a
-    371:371:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296:296 -> a
-    371:371:void fixupStaticizedValueUsers(com.android.tools.r8.ir.code.IRCode,java.util.Set):662 -> a
-    372:372:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    372:372:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296 -> a
-    372:372:void fixupStaticizedValueUsers(com.android.tools.r8.ir.code.IRCode,java.util.Set):662 -> a
-    373:373:com.android.tools.r8.graph.DexField mapFieldIfMoved(com.android.tools.r8.graph.DexField):722:722 -> a
-    374:374:com.android.tools.r8.graph.DexItemFactory factory():861:861 -> a
-    374:374:com.android.tools.r8.graph.DexField mapFieldIfMoved(com.android.tools.r8.graph.DexField):724 -> a
-    375:377:com.android.tools.r8.graph.DexField mapFieldIfMoved(com.android.tools.r8.graph.DexField):724:726 -> a
-    378:378:com.android.tools.r8.graph.DexItemFactory factory():861:861 -> a
-    378:378:com.android.tools.r8.graph.DexField mapFieldIfMoved(com.android.tools.r8.graph.DexField):728 -> a
-    379:379:com.android.tools.r8.graph.DexField mapFieldIfMoved(com.android.tools.r8.graph.DexField):728:728 -> a
-    380:383:boolean classMembersConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):776:779 -> a
-    384:384:boolean lambda$classMembersConflict$14(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):778:778 -> a
-    385:385:boolean lambda$classMembersConflict$15(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):779:779 -> a
-    386:386:com.android.tools.r8.graph.DexField mapCandidateField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):853:853 -> a
-    387:387:com.android.tools.r8.graph.DexItemFactory factory():861:861 -> a
-    387:387:com.android.tools.r8.graph.DexField mapCandidateField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):854 -> a
-    388:389:com.android.tools.r8.graph.DexField mapCandidateField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):855:856 -> a
-    390:390:com.android.tools.r8.graph.DexField mapCandidateField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):854:854 -> a
-    1:28:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):101:128 -> b
-    29:40:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():734:745 -> b
-    29:40:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    41:41:com.android.tools.r8.graph.DexItemFactory factory():861:861 -> b
-    41:41:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():746 -> b
-    41:41:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    42:50:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():746:754 -> b
-    42:50:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
+    88:88:java.util.Map finalEligibilityCheck():236 -> a
+    89:128:java.util.Map finalEligibilityCheck():237:276 -> a
+    129:142:java.util.Map finalEligibilityCheck():275:288 -> a
+    143:151:com.android.tools.r8.utils.TraversalContinuation lambda$finalEligibilityCheck$5(java.util.Set,java.util.Set,com.android.tools.r8.graph.ProgramMethod):211:219 -> a
+    152:157:com.android.tools.r8.utils.TraversalContinuation lambda$finalEligibilityCheck$5(java.util.Set,java.util.Set,com.android.tools.r8.graph.ProgramMethod):218:223 -> a
+    158:165:boolean lambda$finalEligibilityCheck$7(com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo,com.android.tools.r8.ir.code.Instruction):251:258 -> a
+    166:193:void prepareCandidates(java.util.Map):297:324 -> a
+    194:197:boolean validMethods(com.android.tools.r8.utils.collections.ProgramMethodSet):333:336 -> a
+    194:197:void prepareCandidates(java.util.Map):325 -> a
+    198:201:void prepareCandidates(java.util.Map):326:329 -> a
+    202:204:boolean lambda$prepareCandidates$8(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):311:313 -> a
+    205:209:void enqueueMethodsWithCodeOptimizations(java.lang.Iterable,java.util.function.Consumer):344:348 -> a
+    210:210:void enqueueMethodsWithCodeOptimizations(java.lang.Iterable,java.util.function.Consumer):347:347 -> a
+    211:211:void enqueueMethodsWithCodeOptimizations(java.lang.Iterable,java.util.function.Consumer):346:346 -> a
+    212:212:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder lambda$enqueueMethodsWithCodeOptimizations$9(com.android.tools.r8.graph.DexEncodedMethod):348:348 -> a
+    213:226:void processMethodsConcurrently(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):364:377 -> a
+    227:230:void lambda$processMethodsConcurrently$10(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessingId):368:368 -> a
+    231:234:void forEachMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Collection,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.ir.conversion.MethodProcessingId):387:390 -> a
+    235:235:void lambda$forEachMethod$11(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,java.util.function.BiConsumer):388:388 -> a
+    236:238:void insertAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):394:396 -> a
+    239:239:java.util.function.BiConsumer collectOptimizationInfo(com.android.tools.r8.ir.optimize.info.OptimizationFeedback):402:402 -> a
+    240:247:void lambda$collectOptimizationInfo$12(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):403:403 -> a
+    248:250:boolean lambda$rewriteReferences$13(com.android.tools.r8.ir.code.Instruction):470:472 -> a
+    251:255:boolean lambda$rewriteReferences$13(com.android.tools.r8.ir.code.Instruction):471:475 -> a
+    256:256:boolean lambda$rewriteReferences$13(com.android.tools.r8.ir.code.Instruction):474:474 -> a
+    257:277:boolean testAndCollectPhisComposedOfThis(java.util.Set,java.util.Set,com.android.tools.r8.ir.code.Value,java.util.Set):503:523 -> a
+    278:282:void fixupStaticizedThisUsers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):530:534 -> a
+    283:300:void fixupStaticizedThisUsers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):533:550 -> a
+    301:328:boolean testAndCollectPhisComposedOfSameMember(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMember,java.util.Set):589:616 -> a
+    329:335:void fixupStaticizedFieldUsers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMember):624:630 -> a
+    336:353:void fixupStaticizedFieldUsers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMember):629:646 -> a
+    354:363:void fixupStaticizedValueUsers(com.android.tools.r8.ir.code.IRCode,java.util.Set):650:659 -> a
+    364:364:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> a
+    364:364:void fixupStaticizedValueUsers(com.android.tools.r8.ir.code.IRCode,java.util.Set):659 -> a
+    365:372:void fixupStaticizedValueUsers(com.android.tools.r8.ir.code.IRCode,java.util.Set):660:667 -> a
+    373:373:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291:291 -> a
+    373:373:void fixupStaticizedValueUsers(com.android.tools.r8.ir.code.IRCode,java.util.Set):666 -> a
+    374:374:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    374:374:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291 -> a
+    374:374:void fixupStaticizedValueUsers(com.android.tools.r8.ir.code.IRCode,java.util.Set):666 -> a
+    375:375:com.android.tools.r8.graph.DexField mapFieldIfMoved(com.android.tools.r8.graph.DexField):726:726 -> a
+    376:376:com.android.tools.r8.graph.DexItemFactory factory():865:865 -> a
+    376:376:com.android.tools.r8.graph.DexField mapFieldIfMoved(com.android.tools.r8.graph.DexField):728 -> a
+    377:379:com.android.tools.r8.graph.DexField mapFieldIfMoved(com.android.tools.r8.graph.DexField):728:730 -> a
+    380:380:com.android.tools.r8.graph.DexItemFactory factory():865:865 -> a
+    380:380:com.android.tools.r8.graph.DexField mapFieldIfMoved(com.android.tools.r8.graph.DexField):732 -> a
+    381:381:com.android.tools.r8.graph.DexField mapFieldIfMoved(com.android.tools.r8.graph.DexField):732:732 -> a
+    382:385:boolean classMembersConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):780:783 -> a
+    386:386:boolean lambda$classMembersConflict$14(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):782:782 -> a
+    387:387:boolean lambda$classMembersConflict$15(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):783:783 -> a
+    388:388:com.android.tools.r8.graph.DexField mapCandidateField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):857:857 -> a
+    389:389:com.android.tools.r8.graph.DexItemFactory factory():865:865 -> a
+    389:389:com.android.tools.r8.graph.DexField mapCandidateField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):858 -> a
+    390:391:com.android.tools.r8.graph.DexField mapCandidateField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):859:860 -> a
+    392:392:com.android.tools.r8.graph.DexField mapCandidateField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):858:858 -> a
+    1:28:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):102:129 -> b
+    29:40:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():738:749 -> b
+    29:40:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    41:41:com.android.tools.r8.graph.DexItemFactory factory():865:865 -> b
+    41:41:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():750 -> b
+    41:41:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    42:50:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():750:758 -> b
+    42:50:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
     51:51:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.staticizer.ClassStaticizer$CandidateInfo.hostType():89:89 -> b
-    51:51:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():757 -> b
-    51:51:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    52:53:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():758:759 -> b
-    52:53:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    54:54:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
-    54:54:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():759 -> b
-    54:54:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    55:57:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():759:761 -> b
-    55:57:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    58:100:void moveMembersIntoHost(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap):789:831 -> b
-    58:100:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():763 -> b
-    58:100:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    101:101:com.android.tools.r8.graph.DexItemFactory factory():861:861 -> b
-    101:101:void moveMembersIntoHost(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap):834 -> b
-    101:101:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():763 -> b
-    101:101:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    102:102:void moveMembersIntoHost(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap):834:834 -> b
-    102:102:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():763 -> b
-    102:102:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    103:119:void moveMembersIntoHost(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap):833:849 -> b
-    103:119:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():763 -> b
-    103:119:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    120:121:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():769:770 -> b
-    120:121:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):132 -> b
-    122:136:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):137:151 -> b
-    137:140:void lambda$run$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):142:145 -> b
-    141:141:boolean lambda$finalEligibilityCheck$4(com.android.tools.r8.graph.DexEncodedMethod):201:201 -> b
-    142:153:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):409:420 -> b
-    154:154:com.android.tools.r8.graph.DexItemFactory factory():861:861 -> b
-    154:154:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):420 -> b
-    155:162:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):420:427 -> b
+    51:51:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():761 -> b
+    51:51:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    52:53:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():762:763 -> b
+    52:53:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    54:54:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
+    54:54:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():763 -> b
+    54:54:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    55:57:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():763:765 -> b
+    55:57:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    58:100:void moveMembersIntoHost(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap):793:835 -> b
+    58:100:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():767 -> b
+    58:100:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    101:101:com.android.tools.r8.graph.DexItemFactory factory():865:865 -> b
+    101:101:void moveMembersIntoHost(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap):838 -> b
+    101:101:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():767 -> b
+    101:101:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    102:102:void moveMembersIntoHost(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap):838:838 -> b
+    102:102:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():767 -> b
+    102:102:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    103:119:void moveMembersIntoHost(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap):837:853 -> b
+    103:119:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():767 -> b
+    103:119:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    120:121:com.android.tools.r8.utils.collections.ProgramMethodSet staticizeMethodSymbols():773:774 -> b
+    120:121:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):133 -> b
+    122:136:void run(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,java.util.concurrent.ExecutorService):138:152 -> b
+    137:140:void lambda$run$3(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):143:146 -> b
+    141:141:boolean lambda$finalEligibilityCheck$4(com.android.tools.r8.graph.DexEncodedMethod):202:202 -> b
+    142:153:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):413:424 -> b
+    154:154:com.android.tools.r8.graph.DexItemFactory factory():865:865 -> b
+    154:154:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):424 -> b
+    155:162:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):424:431 -> b
     163:163:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):42:42 -> b
-    163:163:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):427 -> b
-    164:164:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):428:428 -> b
-    165:165:void com.android.tools.r8.ir.code.Instruction.removeOrReplaceByDebugLocalRead(com.android.tools.r8.ir.code.IRCode):292:292 -> b
-    165:165:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):429 -> b
-    166:172:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):432:438 -> b
-    173:173:void com.android.tools.r8.ir.code.Instruction.removeOrReplaceByDebugLocalRead(com.android.tools.r8.ir.code.IRCode):292:292 -> b
-    173:173:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):439 -> b
-    174:176:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):441:443 -> b
-    177:177:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1095:1095 -> b
-    177:177:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):444 -> b
-    178:178:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):444:444 -> b
-    179:179:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296:296 -> b
-    179:179:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):443 -> b
+    163:163:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):431 -> b
+    164:164:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):432:432 -> b
+    165:165:void com.android.tools.r8.ir.code.Instruction.removeOrReplaceByDebugLocalRead(com.android.tools.r8.ir.code.IRCode):287:287 -> b
+    165:165:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):433 -> b
+    166:172:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):436:442 -> b
+    173:173:void com.android.tools.r8.ir.code.Instruction.removeOrReplaceByDebugLocalRead(com.android.tools.r8.ir.code.IRCode):287:287 -> b
+    173:173:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):443 -> b
+    174:176:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):445:447 -> b
+    177:177:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.IRCode.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):1099:1099 -> b
+    177:177:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):448 -> b
+    178:178:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):448:448 -> b
+    179:179:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291:291 -> b
+    179:179:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):447 -> b
     180:180:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> b
-    180:180:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296 -> b
-    180:180:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):443 -> b
-    181:181:void com.android.tools.r8.ir.code.Instruction.removeOrReplaceByDebugLocalRead(com.android.tools.r8.ir.code.IRCode):292:292 -> b
-    181:181:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):446 -> b
-    182:182:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):452:452 -> b
-    1:1:boolean lambda$finalEligibilityCheck$6(com.android.tools.r8.graph.DexEncodedMethod):224:224 -> c
-    2:2:void removeReferencesToThis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):456:456 -> c
-    1:26:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):463:488 -> d
-    27:27:void com.android.tools.r8.ir.code.Instruction.removeOrReplaceByDebugLocalRead(com.android.tools.r8.ir.code.IRCode):292:292 -> d
-    27:27:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):489 -> d
-    28:28:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):492:492 -> d
-    29:29:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> d
-    29:29:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):669 -> d
-    29:29:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
-    30:43:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):670:683 -> d
-    30:43:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
-    44:46:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):682:684 -> d
-    44:46:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
-    47:47:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):681:681 -> d
-    47:47:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
+    180:180:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291 -> b
+    180:180:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):447 -> b
+    181:181:void com.android.tools.r8.ir.code.Instruction.removeOrReplaceByDebugLocalRead(com.android.tools.r8.ir.code.IRCode):287:287 -> b
+    181:181:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):450 -> b
+    182:182:void removeCandidateInstantiation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):456:456 -> b
+    1:1:boolean lambda$finalEligibilityCheck$6(com.android.tools.r8.graph.DexEncodedMethod):225:225 -> c
+    2:2:void removeReferencesToThis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):460:460 -> c
+    1:26:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):467:492 -> d
+    27:27:void com.android.tools.r8.ir.code.Instruction.removeOrReplaceByDebugLocalRead(com.android.tools.r8.ir.code.IRCode):287:287 -> d
+    27:27:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
+    28:28:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):496:496 -> d
+    29:29:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> d
+    29:29:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):673 -> d
+    29:29:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
+    30:43:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):674:687 -> d
+    30:43:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
+    44:46:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):686:688 -> d
+    44:46:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
+    47:47:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):685:685 -> d
+    47:47:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
     48:48:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> d
-    48:48:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):679 -> d
-    48:48:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
-    49:53:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):690:694 -> d
-    49:53:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
+    48:48:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):683 -> d
+    48:48:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
+    49:53:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):694:698 -> d
+    49:53:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
     54:54:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> d
-    54:54:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):694 -> d
-    54:54:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
-    55:58:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):699:702 -> d
-    55:58:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
-    59:59:com.android.tools.r8.graph.DexItemFactory factory():861:861 -> d
-    59:59:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):704 -> d
-    59:59:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
-    60:68:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):704:712 -> d
-    60:68:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
-    69:71:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):711:713 -> d
-    69:71:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
-    72:76:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):710:714 -> d
-    72:76:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
+    54:54:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):698 -> d
+    54:54:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
+    55:58:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):703:706 -> d
+    55:58:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
+    59:59:com.android.tools.r8.graph.DexItemFactory factory():865:865 -> d
+    59:59:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):708 -> d
+    59:59:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
+    60:68:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):708:716 -> d
+    60:68:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
+    69:71:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):715:717 -> d
+    69:71:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
+    72:76:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):714:718 -> d
+    72:76:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
     77:77:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> d
-    77:77:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):714 -> d
-    77:77:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):493 -> d
+    77:77:void remapMovedCandidates(com.android.tools.r8.ir.code.IRCode):718 -> d
+    77:77:void rewriteReferences(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):497 -> d
 com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration -> com.android.tools.r8.ir.optimize.string.a:
     boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType) -> a
     boolean isBuilderType(com.android.tools.r8.graph.DexType) -> a
@@ -40733,26 +40800,26 @@
     boolean isBuilderInitWithInitialValue(com.android.tools.r8.ir.code.InvokeMethod) -> b
     boolean isBuilderInit(com.android.tools.r8.graph.DexMethod) -> c
 com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer -> com.android.tools.r8.ir.optimize.string.b:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    int numberOfDeadBuilders -> n
-    int numberOfBuildersSimplified -> o
-    int numberOfBuildersWithMergingPoints -> l
-    com.android.tools.r8.graph.AppView appView -> a
-    int numberOfBuildersWithNonDeterministicArg -> m
-    int numberOfBuildersWithNonTrivialStateChange -> j
-    int numberOfBuildersWithUnsupportedArg -> k
-    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration optimizationConfiguration -> e
-    int numberOfBuildersThatEscape -> h
-    int numberOfBuildersWhoseResultIsInterned -> i
-    int numberOfBuildersWithMultipleToString -> f
-    int numberOfBuildersWithoutToString -> g
-    boolean $assertionsDisabled -> t
-    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> c
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfAppendChains -> p
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfEndResult -> q
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfPartialAppendChains -> r
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfPartialResult -> s
-    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis analysis -> d
+    int numberOfBuildersWithNonDeterministicArg -> n
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    int numberOfDeadBuilders -> o
+    int numberOfBuildersWithUnsupportedArg -> l
+    int numberOfBuildersWithMergingPoints -> m
+    com.android.tools.r8.graph.AppView appView -> b
+    int numberOfBuildersWhoseResultIsInterned -> j
+    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration optimizationConfiguration -> f
+    int numberOfBuildersWithNonTrivialStateChange -> k
+    int numberOfBuildersWithoutToString -> h
+    int numberOfBuildersThatEscape -> i
+    int numberOfBuildersWithMultipleToString -> g
+    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> d
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfAppendChains -> q
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfEndResult -> r
+    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis analysis -> e
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfPartialAppendChains -> s
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfPartialResult -> t
+    boolean $assertionsDisabled -> a
+    int numberOfBuildersSimplified -> p
     1:1:void <clinit>():80:80 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):104:104 -> <init>
     2:31:void <init>(com.android.tools.r8.graph.AppView):89:118 -> <init>
@@ -40797,8 +40864,8 @@
     1:1:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState createRoot():979:979 -> a
     2:8:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState createChild(java.lang.String):983:989 -> a
 com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$DefaultStringBuilderOptimizationConfiguration -> com.android.tools.r8.ir.optimize.string.b$c:
-    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():793:793 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):793:793 -> <init>
     1:2:boolean isBuilderType(com.android.tools.r8.graph.DexType):797:798 -> a
@@ -40811,26 +40878,26 @@
     4:5:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):822:823 -> b
     1:2:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):809:810 -> c
 com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringBuilderOptimizerEscapeAnalysisConfiguration -> com.android.tools.r8.ir.optimize.string.b$d:
-    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> b
-    com.android.tools.r8.graph.DexType builderType -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> c
+    com.android.tools.r8.graph.DexType builderType -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():865:865 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$1):865:865 -> <init>
     2:5:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.Value):869:872 -> <init>
     1:1:void logEscapingRoute(boolean):877:877 -> a
     1:10:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):887:896 -> isLegitimateEscapeRoute
-    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> isLegitimateEscapeRoute
+    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> isLegitimateEscapeRoute
     11:11:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):896 -> isLegitimateEscapeRoute
     12:76:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):897:961 -> isLegitimateEscapeRoute
     77:77:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):888:888 -> isLegitimateEscapeRoute
 com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis -> com.android.tools.r8.ir.optimize.string.b$e:
-    java.util.Map builderStates -> c
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap builderToStringCounts -> b
-    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> f
-    java.util.Set deadBuilders -> d
-    java.util.Set simplifiedBuilders -> e
-    com.android.tools.r8.ir.code.IRCode code -> a
-    boolean $assertionsDisabled -> g
+    java.util.Map builderStates -> d
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap builderToStringCounts -> c
+    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> g
+    java.util.Set deadBuilders -> e
+    java.util.Set simplifiedBuilders -> f
+    com.android.tools.r8.ir.code.IRCode code -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():192:192 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):206:206 -> <init>
     2:373:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):204:575 -> <init>
@@ -40854,52 +40921,52 @@
     211:227:void logHistogramOfChains(java.util.List,boolean):551:567 -> a
     228:228:void logHistogramOfChains(java.util.List,boolean):562:562 -> a
     229:230:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):578:579 -> a
-    231:1245:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1014 -> a
-    231:1245:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):579 -> a
-    1246:1281:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):580:615 -> a
-    1282:1286:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):614:618 -> a
-    1287:1287:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    1287:1287:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):617 -> a
-    1288:1289:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):619:620 -> a
-    1290:1294:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):591:595 -> a
-    1295:1299:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):593:597 -> a
-    1300:1300:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    1300:1300:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):596 -> a
-    1301:1326:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):599:624 -> a
-    1327:1327:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
-    1327:1327:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):624 -> a
-    1328:1328:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):624:624 -> a
-    1329:1355:boolean isToStringOfInterest(java.util.Set,com.android.tools.r8.ir.code.Instruction):630:656 -> a
-    1329:1355:boolean lambda$applyConcatenationResults$1(java.util.Set,com.android.tools.r8.ir.code.Instruction):581 -> a
-    1356:1401:java.lang.String toCompileTimeString(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):668:713 -> a
-    1402:1405:int estimateSizeReduction(java.util.List):720:723 -> a
-    1402:1405:java.lang.String toCompileTimeString(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):714 -> a
-    1406:1406:java.lang.String toCompileTimeString(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):715:715 -> a
-    1407:1413:void removeTrivialBuilders():730:736 -> a
-    1414:2428:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1014 -> a
-    1414:2428:void removeTrivialBuilders():736 -> a
-    2429:2441:void removeTrivialBuilders():737:749 -> a
-    2442:3456:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1014 -> a
-    2442:3456:void removeTrivialBuilders():749 -> a
-    3457:3486:void removeTrivialBuilders():750:779 -> a
-    3487:4501:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1014 -> a
-    3487:4501:void removeTrivialBuilders():779 -> a
-    4502:4511:void removeTrivialBuilders():780:789 -> a
+    231:1249:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1018 -> a
+    231:1249:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):579 -> a
+    1250:1285:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):580:615 -> a
+    1286:1290:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):614:618 -> a
+    1291:1291:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    1291:1291:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):617 -> a
+    1292:1293:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):619:620 -> a
+    1294:1298:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):591:595 -> a
+    1299:1303:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):593:597 -> a
+    1304:1304:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
+    1304:1304:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):596 -> a
+    1305:1330:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):599:624 -> a
+    1331:1331:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
+    1331:1331:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):624 -> a
+    1332:1332:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):624:624 -> a
+    1333:1359:boolean isToStringOfInterest(java.util.Set,com.android.tools.r8.ir.code.Instruction):630:656 -> a
+    1333:1359:boolean lambda$applyConcatenationResults$1(java.util.Set,com.android.tools.r8.ir.code.Instruction):581 -> a
+    1360:1405:java.lang.String toCompileTimeString(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):668:713 -> a
+    1406:1409:int estimateSizeReduction(java.util.List):720:723 -> a
+    1406:1409:java.lang.String toCompileTimeString(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):714 -> a
+    1410:1410:java.lang.String toCompileTimeString(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):715:715 -> a
+    1411:1417:void removeTrivialBuilders():730:736 -> a
+    1418:2436:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1018 -> a
+    1418:2436:void removeTrivialBuilders():736 -> a
+    2437:2449:void removeTrivialBuilders():737:749 -> a
+    2450:3468:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1018 -> a
+    2450:3468:void removeTrivialBuilders():749 -> a
+    3469:3498:void removeTrivialBuilders():750:779 -> a
+    3499:4517:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1018 -> a
+    3499:4517:void removeTrivialBuilders():779 -> a
+    4518:4527:void removeTrivialBuilders():780:789 -> a
     1:1:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$200(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):192:192 -> b
     2:40:java.lang.Number extractConstantNumber(com.android.tools.r8.ir.code.Value):472:510 -> b
     1:1:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):317:317 -> c
     1:1:java.util.Map lambda$createBuilderState$0(com.android.tools.r8.ir.code.Value):312:312 -> d
 com.android.tools.r8.ir.optimize.string.StringOptimizer -> com.android.tools.r8.ir.optimize.string.d:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> j
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap numberOfComputedNames -> e
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap numberOfDeferredComputationOfNames -> f
-    int numberOfSimplifiedConversions -> i
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfNames -> g
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfDeferredNames -> h
-    int numberOfSimplifiedOperations -> d
-    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> c
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    int numberOfSimplifiedConversions -> j
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap numberOfComputedNames -> f
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap numberOfDeferredComputationOfNames -> g
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfNames -> h
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfDeferredNames -> i
+    int numberOfSimplifiedOperations -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> d
     1:1:void <clinit>():48:48 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):61:61 -> <init>
     2:22:void <init>(com.android.tools.r8.graph.AppView):54:74 -> <init>
@@ -40909,7 +40976,7 @@
     35:37:void lambda$logResult$0(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping,java.lang.Integer):87:87 -> a
     38:40:void lambda$logResult$2(java.lang.Integer,java.lang.Integer):101:101 -> a
     41:44:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):134:137 -> a
-    45:45:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
+    45:45:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
     45:45:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):138 -> a
     46:94:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):139:187 -> a
     95:99:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):186:190 -> a
@@ -40920,13 +40987,13 @@
     119:119:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
     119:119:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):206 -> a
     120:179:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):207:266 -> a
-    180:180:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
+    180:180:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1119:1119 -> a
     180:180:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):267 -> a
     181:188:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):269:276 -> a
-    189:189:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
+    189:189:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1119:1119 -> a
     189:189:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):277 -> a
     190:198:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):279:287 -> a
-    199:199:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1115:1115 -> a
+    199:199:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1119:1119 -> a
     199:199:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):288 -> a
     200:200:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):291:291 -> a
     201:201:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
@@ -40939,10 +41006,10 @@
     210:210:java.lang.Integer lambda$computeTrivialOperationsOnConstString$10(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):234:234 -> a
     211:211:java.lang.Integer lambda$computeTrivialOperationsOnConstString$13(com.android.tools.r8.graph.DexString,java.lang.Integer):240:240 -> a
     212:215:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):303:306 -> a
-    216:216:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> a
+    216:216:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> a
     216:216:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):307 -> a
     217:258:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):308:349 -> a
-    259:259:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    259:259:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     259:259:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):352 -> a
     260:317:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):357:414 -> a
     318:319:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):395:396 -> a
@@ -40971,7 +41038,7 @@
     9:9:java.lang.Integer lambda$computeTrivialOperationsOnConstString$15(com.android.tools.r8.graph.DexString,java.lang.Integer):244:244 -> b
     10:15:void logNameComputation(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):463:468 -> b
     16:16:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):510:510 -> b
-    17:17:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1014:1014 -> b
+    17:17:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1018:1018 -> b
     17:17:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):511 -> b
     18:37:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):512:531 -> b
     38:41:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):530:533 -> b
@@ -40997,24 +41064,24 @@
     1:1:com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration getInstance():585:585 -> a
     1:21:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):594:614 -> isLegitimateEscapeRoute
 com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator -> com.android.tools.r8.ir.regalloc.a:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.List moveExceptionIntervals -> o
-    int maxRegisterNumber -> i
-    com.android.tools.r8.ir.code.IRCode code -> b
-    java.util.PriorityQueue unhandled -> m
-    boolean $assertionsDisabled -> r
-    int numberOfArgumentRegisters -> c
-    com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode mode -> g
-    java.util.Map liveAtEntrySets -> d
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList expiredHere -> n
-    com.android.tools.r8.ir.code.Value lastArgumentValue -> f
-    java.util.TreeSet freeRegisters -> h
-    com.android.tools.r8.ir.code.Value firstArgumentValue -> e
-    java.util.List liveIntervals -> j
-    int[] unusedRegisters -> q
-    java.util.List inactive -> l
-    int firstParallelMoveTemporary -> p
-    java.util.List active -> k
+    java.util.List moveExceptionIntervals -> p
+    com.android.tools.r8.graph.AppView appView -> b
+    int maxRegisterNumber -> j
+    int[] unusedRegisters -> r
+    com.android.tools.r8.ir.code.IRCode code -> c
+    int numberOfArgumentRegisters -> d
+    com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode mode -> h
+    java.util.TreeSet freeRegisters -> i
+    java.util.PriorityQueue unhandled -> n
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList expiredHere -> o
+    com.android.tools.r8.ir.code.Value lastArgumentValue -> g
+    com.android.tools.r8.ir.code.Value firstArgumentValue -> f
+    boolean $assertionsDisabled -> a
+    java.util.Map liveAtEntrySets -> e
+    java.util.List inactive -> m
+    java.util.List active -> l
+    java.util.List liveIntervals -> k
+    int firstParallelMoveTemporary -> q
     1:1:void <clinit>():87:87 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):189:189 -> <init>
     2:57:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):143:198 -> <init>
@@ -41025,461 +41092,461 @@
     92:92:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
     92:92:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):336 -> a
     93:95:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):337:339 -> a
-    96:104:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):461:469 -> a
+    96:104:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):462:470 -> a
     96:104:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):344 -> a
     105:105:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
-    105:105:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):469 -> a
+    105:105:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):470 -> a
     105:105:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):344 -> a
-    106:126:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):471:491 -> a
+    106:126:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):472:492 -> a
     106:126:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):344 -> a
-    127:127:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1574:1574 -> a
-    127:127:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):494 -> a
+    127:127:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> a
+    127:127:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):495 -> a
     127:127:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):344 -> a
-    128:130:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):494:496 -> a
+    128:130:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):495:497 -> a
     128:130:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):344 -> a
-    131:133:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):462:464 -> a
+    131:133:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):463:465 -> a
     131:133:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):344 -> a
     134:134:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
-    134:134:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):464 -> a
+    134:134:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):465 -> a
     134:134:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):344 -> a
-    135:135:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):464:464 -> a
+    135:135:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):465:465 -> a
     135:135:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):344 -> a
-    136:207:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):347:418 -> a
-    208:208:int lambda$computeDebugInfo$0(com.android.tools.r8.ir.regalloc.LiveRange):261:261 -> a
-    209:210:boolean lambda$computeDebugInfo$2(java.util.Set,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):319:320 -> a
-    211:211:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):425:425 -> a
-    212:213:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):430:431 -> a
-    212:213:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):425 -> a
-    214:215:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):436:437 -> a
-    214:215:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):432 -> a
-    214:215:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):425 -> a
-    216:222:boolean valuesContain(com.android.tools.r8.ir.code.Value,java.util.Collection):441:447 -> a
-    223:246:com.android.tools.r8.ir.code.DebugLocalsChange createLocalsChange(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.code.Position):504:527 -> a
-    247:266:com.android.tools.r8.ir.code.DebugLocalsChange createLocalsChange(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.code.Position):510:529 -> a
-    267:271:void addRegisterIfUsed(java.util.Set,com.android.tools.r8.ir.regalloc.LiveIntervals):576:580 -> a
-    272:284:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):600:612 -> a
-    285:286:int getRegisterForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):797:798 -> a
-    285:286:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):614 -> a
-    287:289:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):605:607 -> a
-    290:290:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
-    290:290:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
-    290:290:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):607 -> a
-    291:291:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):607:607 -> a
-    292:292:com.android.tools.r8.utils.InternalOptions options():627:627 -> a
-    293:293:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):645:645 -> a
-    294:305:void clearRegisterAssignments(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):778:789 -> a
-    294:305:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):648 -> a
-    306:306:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):649:649 -> a
-    307:315:void pinArgumentRegisters():2945:2953 -> a
-    307:315:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):652 -> a
-    316:316:void pinArgumentRegisters():2950:2950 -> a
-    316:316:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):652 -> a
-    317:378:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):826:887 -> a
-    317:378:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    379:379:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
-    379:379:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):888 -> a
-    379:379:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    380:401:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):893:914 -> a
-    380:401:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    402:408:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1054:1060 -> a
-    402:408:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):916 -> a
-    402:408:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    409:409:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
-    409:409:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1060 -> a
-    409:409:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):916 -> a
-    409:409:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    410:411:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1061:1062 -> a
-    410:411:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):916 -> a
-    410:411:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    412:418:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1073:1079 -> a
-    412:418:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):917 -> a
-    412:418:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    419:419:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
-    419:419:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1079 -> a
-    419:419:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):917 -> a
-    419:419:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    420:425:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1080:1085 -> a
-    420:425:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):917 -> a
-    420:425:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    426:426:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
-    426:426:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1085 -> a
-    426:426:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):917 -> a
-    426:426:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    427:427:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1086:1086 -> a
-    427:427:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):917 -> a
-    427:427:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    428:493:void allocateArgumentIntervalsWithSrc(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1101:1166 -> a
-    428:493:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):922 -> a
-    428:493:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    494:543:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923:972 -> a
-    494:543:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    544:556:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1608:1620 -> a
-    544:556:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    544:556:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    557:559:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1897:1899 -> a
-    557:559:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1621 -> a
-    557:559:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    557:559:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    560:616:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1626:1682 -> a
-    560:616:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    560:616:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    617:617:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
-    617:617:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1683 -> a
-    617:617:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    617:617:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    618:622:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1684:1688 -> a
-    618:622:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    618:622:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    623:623:int toInstructionPosition(int):1390:1390 -> a
-    623:623:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1688 -> a
-    623:623:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    623:623:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    624:635:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1693:1704 -> a
-    624:635:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    624:635:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    636:644:boolean freePositionsAreConsistentWithFreeRegisters(com.android.tools.r8.ir.regalloc.RegisterPositions,int):1027:1035 -> a
-    636:644:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1704 -> a
-    636:644:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    636:644:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    645:673:boolean useRegisterHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean):1783:1811 -> a
-    645:673:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1707 -> a
-    645:673:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    645:673:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    674:702:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1713:1741 -> a
-    674:702:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    674:702:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    703:705:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1897:1899 -> a
-    703:705:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1742 -> a
-    703:705:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    703:705:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    706:706:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1743:1743 -> a
-    706:706:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    706:706:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    707:725:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1981:1999 -> a
-    707:725:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    707:725:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    707:725:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    726:735:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1998:2007 -> a
-    726:735:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    726:735:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    726:735:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    736:736:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
-    736:736:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2008 -> a
-    736:736:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    736:736:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    736:736:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    737:809:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2009:2081 -> a
-    737:809:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    737:809:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    737:809:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    810:817:int getNewSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1255:1262 -> a
-    810:817:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2083 -> a
-    810:817:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    810:817:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    810:817:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    818:818:void increaseCapacity(int):2959:2959 -> a
-    818:818:int getNewSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1262 -> a
-    818:818:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2083 -> a
-    818:818:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    818:818:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    818:818:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    819:821:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1897:1899 -> a
-    819:821:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2084 -> a
-    819:821:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    819:821:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    819:821:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    822:828:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2085:2091 -> a
-    822:828:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    822:828:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    822:828:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    829:829:void increaseCapacity(int):2959:2959 -> a
-    829:829:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2092 -> a
-    829:829:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    829:829:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    829:829:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    830:830:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2095:2095 -> a
-    830:830:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    830:830:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    830:830:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    831:838:void assignRegisterAndSpill(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2119:2126 -> a
-    831:838:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2097 -> a
-    831:838:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    831:838:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    831:838:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    839:840:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2100:2101 -> a
-    839:840:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    839:840:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    839:840:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    841:848:void assignRegisterAndSpill(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2119:2126 -> a
-    841:848:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2102 -> a
-    841:848:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1745 -> a
-    841:848:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    841:848:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    849:850:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1750:1751 -> a
-    849:850:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    849:850:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    851:851:void increaseCapacity(int):2959:2959 -> a
-    851:851:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1752 -> a
-    851:851:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    851:851:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    852:852:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1755:1755 -> a
-    852:852:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    852:852:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    853:855:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1897:1899 -> a
-    853:855:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1757 -> a
-    853:855:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    853:855:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    856:864:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1759:1767 -> a
-    856:864:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    856:864:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    865:867:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1897:1899 -> a
-    865:867:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1768 -> a
-    865:867:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    865:867:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    868:868:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1769:1769 -> a
-    868:868:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):974 -> a
-    868:868:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):654 -> a
-    869:914:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):656:701 -> a
-    915:929:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):674:688 -> a
-    930:937:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):662:669 -> a
-    938:978:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):666:706 -> a
-    979:982:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):705:708 -> a
-    983:983:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):707:707 -> a
-    984:991:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):764:771 -> a
-    992:996:int realRegisterNumberFromAllocated(int):816:820 -> a
-    997:1035:boolean invariantsHold(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):983:1021 -> a
-    1036:1037:void lambda$invariantsHold$3(java.util.TreeSet,int):991:992 -> a
-    1038:1044:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1175:1181 -> a
-    1045:1045:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
-    1045:1045:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1182 -> a
-    1046:1046:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1183:1183 -> a
-    1047:1057:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1180:1190 -> a
-    1058:1061:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1238:1241 -> a
-    1058:1061:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1193 -> a
-    1062:1062:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
-    1062:1062:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1245 -> a
-    1062:1062:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1193 -> a
-    1063:1063:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1244:1244 -> a
-    1063:1063:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1193 -> a
-    1064:1064:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1194:1194 -> a
-    1065:1078:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1192:1205 -> a
-    1079:1079:int getFreeConsecutiveRegisters(int):2972:2972 -> a
-    1079:1079:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1206 -> a
-    1080:1081:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1208:1209 -> a
-    1082:1087:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1043:1048 -> a
-    1082:1087:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1209 -> a
-    1088:1088:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1047:1047 -> a
-    1088:1088:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1209 -> a
-    1089:1089:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1046:1046 -> a
-    1089:1089:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1209 -> a
-    1090:1103:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1211:1224 -> a
-    1104:1128:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1207:1231 -> a
-    1129:1148:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1267:1286 -> a
-    1149:1156:boolean registersAreFreeAndConsecutive(int,boolean):3028:3035 -> a
-    1149:1156:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1286 -> a
-    1157:1182:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1287:1312 -> a
-    1183:1213:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1328:1358 -> a
-    1214:1214:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
-    1214:1214:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1359 -> a
-    1215:1231:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1366:1382 -> a
-    1232:1238:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1831:1837 -> a
-    1239:1251:boolean isLongResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1538:1550 -> a
-    1239:1251:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1838 -> a
-    1252:1252:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1842:1842 -> a
-    1253:1257:boolean isArrayGetArrayRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1432:1436 -> a
-    1253:1257:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1843 -> a
-    1258:1260:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1897:1899 -> a
-    1258:1260:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1846 -> a
-    1261:1262:void assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1854:1855 -> a
-    1263:1293:void updateRegisterHints(com.android.tools.r8.ir.regalloc.LiveIntervals):1860:1890 -> a
-    1263:1293:void assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1856 -> a
-    1294:1306:int getLargestCandidate(int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1911:1923 -> a
-    1307:1312:int handleWorkaround(java.util.function.Predicate,java.util.function.BiPredicate,int,com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1941:1946 -> a
-    1313:1325:int getLargestValidCandidate(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1961:1973 -> a
-    1326:1328:int getLargestPosition(com.android.tools.r8.ir.regalloc.RegisterPositions,int,boolean):2109:2111 -> a
-    1329:1329:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2168:2168 -> a
-    1330:1330:boolean atLeastOneOfRegistersAreTaken(int,boolean):3125:3125 -> a
-    1330:1330:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2169 -> a
-    1331:1377:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2169:2215 -> a
-    1378:1400:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2283:2305 -> a
-    1378:1400:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2218 -> a
-    1401:1401:int toGapPosition(int):1394:1394 -> a
-    1401:1401:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2305 -> a
-    1401:1401:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2218 -> a
-    1402:1415:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2305:2318 -> a
-    1402:1415:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2218 -> a
-    1416:1416:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2219:2219 -> a
-    1417:1424:void splitRangesForSpilledArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):2232:2239 -> a
-    1417:1424:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2220 -> a
-    1425:1452:void splitRangesForSpilledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2246:2273 -> a
-    1425:1452:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2222 -> a
-    1453:1454:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2227:2228 -> a
-    1455:1457:void blockLinkedRegisters(java.util.List,com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions):2327:2329 -> a
-    1458:1458:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
-    1458:1458:void blockLinkedRegisters(java.util.List,com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions):2330 -> a
-    1459:1466:void blockLinkedRegisters(java.util.List,com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions):2331:2338 -> a
-    1467:1502:void addLiveRange(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,int,java.util.List,com.android.tools.r8.utils.InternalOptions):2446:2481 -> a
-    1503:1503:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    1503:1503:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2653 -> a
-    1503:1503:void addLiveRange(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,int,java.util.List,com.android.tools.r8.utils.InternalOptions):2481 -> a
-    1504:1510:void addLiveRange(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,int,java.util.List,com.android.tools.r8.utils.InternalOptions):2481:2487 -> a
-    1511:1562:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2520:2571 -> a
-    1563:1569:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2568:2574 -> a
-    1570:1570:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    1570:1570:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2574 -> a
-    1571:1578:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2574:2581 -> a
-    1579:1579:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
-    1579:1579:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2653 -> a
-    1579:1579:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2581 -> a
-    1580:1617:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2581:2618 -> a
-    1618:1619:int getLiveRangeEndOnExceptionalFlow(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):2645:2646 -> a
-    1618:1619:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2622 -> a
-    1620:1637:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2619:2636 -> a
-    1638:1660:boolean implementationIsBridge(com.android.tools.r8.ir.code.IRCode):2722:2744 -> a
-    1661:1661:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2766:2766 -> a
-    1662:1666:boolean argumentsAreAlreadyLinked(com.android.tools.r8.ir.code.Invoke):2871:2875 -> a
-    1662:1666:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2766 -> a
-    1667:1700:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2767:2800 -> a
-    1701:1702:boolean com.android.tools.r8.ir.code.Value.hasRegisterConstraint():828:829 -> a
-    1701:1702:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2802 -> a
-    1703:1703:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2803:2803 -> a
-    1704:1705:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement):2751:2752 -> a
-    1704:1705:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2803 -> a
-    1706:1707:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2804:2805 -> a
-    1708:1711:void replaceArgument(com.android.tools.r8.ir.code.Invoke,int,com.android.tools.r8.ir.code.Value):2757:2760 -> a
-    1708:1711:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2806 -> a
-    1712:1736:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2808:2832 -> a
-    1737:1763:void generateArgumentMovesAtDefinitions(com.android.tools.r8.ir.code.Invoke,java.util.PriorityQueue,com.android.tools.r8.ir.code.InstructionListIterator):2840:2866 -> a
-    1737:1763:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2833 -> a
-    1764:1764:int lambda$generateArgumentMoves$5(com.android.tools.r8.ir.code.Move,com.android.tools.r8.ir.code.Move):2774:2774 -> a
-    1765:1809:int getFreeConsecutiveRegisters(int,boolean):2976:3020 -> a
-    1810:1821:int lambda$getFreeConsecutiveRegisters$6(java.lang.Integer,java.lang.Integer):2982:2993 -> a
-    1822:1825:int getNextFreeRegister(java.util.Iterator):3044:3047 -> a
-    1826:1838:void excludeRegistersForInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):3051:3063 -> a
-    1839:1850:void freeOccupiedRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3069:3080 -> a
-    1851:1851:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3175:3175 -> a
+    136:208:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):347:419 -> a
+    209:209:int lambda$computeDebugInfo$0(com.android.tools.r8.ir.regalloc.LiveRange):261:261 -> a
+    210:211:boolean lambda$computeDebugInfo$2(java.util.Set,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):319:320 -> a
+    212:212:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):426:426 -> a
+    213:214:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):431:432 -> a
+    213:214:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):426 -> a
+    215:216:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):437:438 -> a
+    215:216:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):433 -> a
+    215:216:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):426 -> a
+    217:223:boolean valuesContain(com.android.tools.r8.ir.code.Value,java.util.Collection):442:448 -> a
+    224:247:com.android.tools.r8.ir.code.DebugLocalsChange createLocalsChange(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.code.Position):505:528 -> a
+    248:267:com.android.tools.r8.ir.code.DebugLocalsChange createLocalsChange(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.code.Position):511:530 -> a
+    268:272:void addRegisterIfUsed(java.util.Set,com.android.tools.r8.ir.regalloc.LiveIntervals):577:581 -> a
+    273:285:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):601:613 -> a
+    286:287:int getRegisterForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):798:799 -> a
+    286:287:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):615 -> a
+    288:290:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):606:608 -> a
+    291:291:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
+    291:291:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
+    291:291:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):608 -> a
+    292:292:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):608:608 -> a
+    293:293:com.android.tools.r8.utils.InternalOptions options():628:628 -> a
+    294:294:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):646:646 -> a
+    295:306:void clearRegisterAssignments(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):779:790 -> a
+    295:306:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):649 -> a
+    307:307:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):650:650 -> a
+    308:316:void pinArgumentRegisters():2946:2954 -> a
+    308:316:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):653 -> a
+    317:317:void pinArgumentRegisters():2951:2951 -> a
+    317:317:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):653 -> a
+    318:379:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):827:888 -> a
+    318:379:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    380:380:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
+    380:380:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):889 -> a
+    380:380:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    381:402:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):894:915 -> a
+    381:402:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    403:409:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1055:1061 -> a
+    403:409:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):917 -> a
+    403:409:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    410:410:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
+    410:410:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1061 -> a
+    410:410:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):917 -> a
+    410:410:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    411:412:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1062:1063 -> a
+    411:412:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):917 -> a
+    411:412:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    413:419:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1074:1080 -> a
+    413:419:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):918 -> a
+    413:419:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    420:420:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
+    420:420:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1080 -> a
+    420:420:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):918 -> a
+    420:420:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    421:426:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1081:1086 -> a
+    421:426:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):918 -> a
+    421:426:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    427:427:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
+    427:427:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1086 -> a
+    427:427:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):918 -> a
+    427:427:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    428:428:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1087:1087 -> a
+    428:428:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):918 -> a
+    428:428:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    429:494:void allocateArgumentIntervalsWithSrc(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1102:1167 -> a
+    429:494:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923 -> a
+    429:494:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    495:544:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924:973 -> a
+    495:544:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    545:557:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1609:1621 -> a
+    545:557:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    545:557:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    558:560:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1898:1900 -> a
+    558:560:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1622 -> a
+    558:560:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    558:560:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    561:617:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1627:1683 -> a
+    561:617:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    561:617:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    618:618:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
+    618:618:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1684 -> a
+    618:618:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    618:618:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    619:623:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1685:1689 -> a
+    619:623:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    619:623:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    624:624:int toInstructionPosition(int):1391:1391 -> a
+    624:624:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1689 -> a
+    624:624:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    624:624:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    625:636:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1694:1705 -> a
+    625:636:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    625:636:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    637:645:boolean freePositionsAreConsistentWithFreeRegisters(com.android.tools.r8.ir.regalloc.RegisterPositions,int):1028:1036 -> a
+    637:645:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1705 -> a
+    637:645:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    637:645:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    646:674:boolean useRegisterHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean):1784:1812 -> a
+    646:674:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1708 -> a
+    646:674:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    646:674:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    675:703:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1714:1742 -> a
+    675:703:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    675:703:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    704:706:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1898:1900 -> a
+    704:706:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1743 -> a
+    704:706:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    704:706:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    707:707:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1744:1744 -> a
+    707:707:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    707:707:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    708:726:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1982:2000 -> a
+    708:726:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    708:726:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    708:726:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    727:736:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1999:2008 -> a
+    727:736:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    727:736:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    727:736:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    737:737:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
+    737:737:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2009 -> a
+    737:737:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    737:737:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    737:737:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    738:810:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2010:2082 -> a
+    738:810:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    738:810:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    738:810:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    811:818:int getNewSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1256:1263 -> a
+    811:818:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2084 -> a
+    811:818:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    811:818:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    811:818:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    819:819:void increaseCapacity(int):2960:2960 -> a
+    819:819:int getNewSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1263 -> a
+    819:819:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2084 -> a
+    819:819:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    819:819:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    819:819:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    820:822:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1898:1900 -> a
+    820:822:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2085 -> a
+    820:822:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    820:822:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    820:822:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    823:829:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2086:2092 -> a
+    823:829:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    823:829:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    823:829:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    830:830:void increaseCapacity(int):2960:2960 -> a
+    830:830:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2093 -> a
+    830:830:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    830:830:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    830:830:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    831:831:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2096:2096 -> a
+    831:831:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    831:831:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    831:831:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    832:839:void assignRegisterAndSpill(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2120:2127 -> a
+    832:839:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2098 -> a
+    832:839:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    832:839:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    832:839:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    840:841:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2101:2102 -> a
+    840:841:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    840:841:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    840:841:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    842:849:void assignRegisterAndSpill(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2120:2127 -> a
+    842:849:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2103 -> a
+    842:849:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1746 -> a
+    842:849:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    842:849:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    850:851:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1751:1752 -> a
+    850:851:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    850:851:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    852:852:void increaseCapacity(int):2960:2960 -> a
+    852:852:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1753 -> a
+    852:852:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    852:852:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    853:853:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1756:1756 -> a
+    853:853:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    853:853:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    854:856:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1898:1900 -> a
+    854:856:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1758 -> a
+    854:856:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    854:856:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    857:865:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1760:1768 -> a
+    857:865:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    857:865:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    866:868:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1898:1900 -> a
+    866:868:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1769 -> a
+    866:868:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    866:868:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    869:869:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1770:1770 -> a
+    869:869:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):975 -> a
+    869:869:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> a
+    870:915:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):657:702 -> a
+    916:930:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):675:689 -> a
+    931:938:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):663:670 -> a
+    939:979:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):667:707 -> a
+    980:983:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):706:709 -> a
+    984:984:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):708:708 -> a
+    985:992:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):765:772 -> a
+    993:997:int realRegisterNumberFromAllocated(int):817:821 -> a
+    998:1036:boolean invariantsHold(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):984:1022 -> a
+    1037:1038:void lambda$invariantsHold$3(java.util.TreeSet,int):992:993 -> a
+    1039:1045:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1176:1182 -> a
+    1046:1046:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
+    1046:1046:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1183 -> a
+    1047:1047:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1184:1184 -> a
+    1048:1058:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1181:1191 -> a
+    1059:1062:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1239:1242 -> a
+    1059:1062:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1194 -> a
+    1063:1063:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
+    1063:1063:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1246 -> a
+    1063:1063:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1194 -> a
+    1064:1064:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1245:1245 -> a
+    1064:1064:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1194 -> a
+    1065:1065:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1195:1195 -> a
+    1066:1079:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1193:1206 -> a
+    1080:1080:int getFreeConsecutiveRegisters(int):2973:2973 -> a
+    1080:1080:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1207 -> a
+    1081:1082:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1209:1210 -> a
+    1083:1088:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1044:1049 -> a
+    1083:1088:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1210 -> a
+    1089:1089:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1048:1048 -> a
+    1089:1089:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1210 -> a
+    1090:1090:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1047:1047 -> a
+    1090:1090:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1210 -> a
+    1091:1104:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1212:1225 -> a
+    1105:1129:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1208:1232 -> a
+    1130:1149:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1268:1287 -> a
+    1150:1157:boolean registersAreFreeAndConsecutive(int,boolean):3029:3036 -> a
+    1150:1157:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1287 -> a
+    1158:1183:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1288:1313 -> a
+    1184:1214:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1329:1359 -> a
+    1215:1215:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
+    1215:1215:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1360 -> a
+    1216:1232:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1367:1383 -> a
+    1233:1239:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1832:1838 -> a
+    1240:1252:boolean isLongResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1539:1551 -> a
+    1240:1252:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1839 -> a
+    1253:1253:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1843:1843 -> a
+    1254:1258:boolean isArrayGetArrayRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1433:1437 -> a
+    1254:1258:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1844 -> a
+    1259:1261:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1898:1900 -> a
+    1259:1261:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1847 -> a
+    1262:1263:void assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1855:1856 -> a
+    1264:1294:void updateRegisterHints(com.android.tools.r8.ir.regalloc.LiveIntervals):1861:1891 -> a
+    1264:1294:void assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1857 -> a
+    1295:1307:int getLargestCandidate(int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1912:1924 -> a
+    1308:1313:int handleWorkaround(java.util.function.Predicate,java.util.function.BiPredicate,int,com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1942:1947 -> a
+    1314:1326:int getLargestValidCandidate(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1962:1974 -> a
+    1327:1329:int getLargestPosition(com.android.tools.r8.ir.regalloc.RegisterPositions,int,boolean):2110:2112 -> a
+    1330:1330:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2169:2169 -> a
+    1331:1331:boolean atLeastOneOfRegistersAreTaken(int,boolean):3126:3126 -> a
+    1331:1331:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2170 -> a
+    1332:1378:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2170:2216 -> a
+    1379:1401:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2284:2306 -> a
+    1379:1401:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2219 -> a
+    1402:1402:int toGapPosition(int):1395:1395 -> a
+    1402:1402:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2306 -> a
+    1402:1402:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2219 -> a
+    1403:1416:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2306:2319 -> a
+    1403:1416:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2219 -> a
+    1417:1417:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2220:2220 -> a
+    1418:1425:void splitRangesForSpilledArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):2233:2240 -> a
+    1418:1425:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2221 -> a
+    1426:1453:void splitRangesForSpilledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2247:2274 -> a
+    1426:1453:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2223 -> a
+    1454:1455:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2228:2229 -> a
+    1456:1458:void blockLinkedRegisters(java.util.List,com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions):2328:2330 -> a
+    1459:1459:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
+    1459:1459:void blockLinkedRegisters(java.util.List,com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions):2331 -> a
+    1460:1467:void blockLinkedRegisters(java.util.List,com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions):2332:2339 -> a
+    1468:1503:void addLiveRange(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,int,java.util.List,com.android.tools.r8.utils.InternalOptions):2447:2482 -> a
+    1504:1504:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    1504:1504:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2654 -> a
+    1504:1504:void addLiveRange(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,int,java.util.List,com.android.tools.r8.utils.InternalOptions):2482 -> a
+    1505:1511:void addLiveRange(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,int,java.util.List,com.android.tools.r8.utils.InternalOptions):2482:2488 -> a
+    1512:1563:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2521:2572 -> a
+    1564:1570:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2569:2575 -> a
+    1571:1571:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    1571:1571:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2575 -> a
+    1572:1579:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2575:2582 -> a
+    1580:1580:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
+    1580:1580:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2654 -> a
+    1580:1580:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2582 -> a
+    1581:1618:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2582:2619 -> a
+    1619:1620:int getLiveRangeEndOnExceptionalFlow(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):2646:2647 -> a
+    1619:1620:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2623 -> a
+    1621:1638:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2620:2637 -> a
+    1639:1661:boolean implementationIsBridge(com.android.tools.r8.ir.code.IRCode):2723:2745 -> a
+    1662:1662:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2767:2767 -> a
+    1663:1667:boolean argumentsAreAlreadyLinked(com.android.tools.r8.ir.code.Invoke):2872:2876 -> a
+    1663:1667:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2767 -> a
+    1668:1701:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2768:2801 -> a
+    1702:1703:boolean com.android.tools.r8.ir.code.Value.hasRegisterConstraint():716:717 -> a
+    1702:1703:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2803 -> a
+    1704:1704:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2804:2804 -> a
+    1705:1706:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement):2752:2753 -> a
+    1705:1706:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2804 -> a
+    1707:1708:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2805:2806 -> a
+    1709:1712:void replaceArgument(com.android.tools.r8.ir.code.Invoke,int,com.android.tools.r8.ir.code.Value):2758:2761 -> a
+    1709:1712:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2807 -> a
+    1713:1737:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2809:2833 -> a
+    1738:1764:void generateArgumentMovesAtDefinitions(com.android.tools.r8.ir.code.Invoke,java.util.PriorityQueue,com.android.tools.r8.ir.code.InstructionListIterator):2841:2867 -> a
+    1738:1764:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2834 -> a
+    1765:1765:int lambda$generateArgumentMoves$5(com.android.tools.r8.ir.code.Move,com.android.tools.r8.ir.code.Move):2775:2775 -> a
+    1766:1810:int getFreeConsecutiveRegisters(int,boolean):2977:3021 -> a
+    1811:1822:int lambda$getFreeConsecutiveRegisters$6(java.lang.Integer,java.lang.Integer):2983:2994 -> a
+    1823:1826:int getNextFreeRegister(java.util.Iterator):3045:3048 -> a
+    1827:1839:void excludeRegistersForInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):3052:3064 -> a
+    1840:1851:void freeOccupiedRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3070:3081 -> a
+    1852:1852:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3176:3176 -> a
     void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> b
     1:1:void allocateRegisters():207:207 -> b
-    2:11:boolean noLinkedValues():3129:3138 -> b
+    2:11:boolean noLinkedValues():3130:3139 -> b
     2:11:void allocateRegisters():207 -> b
-    12:12:boolean noLinkedValues():3137:3137 -> b
+    12:12:boolean noLinkedValues():3138:3138 -> b
     12:12:void allocateRegisters():207 -> b
     13:14:void allocateRegisters():208:209 -> b
-    15:63:void transformBridgeMethod():2666:2714 -> b
+    15:63:void transformBridgeMethod():2667:2715 -> b
     15:63:void allocateRegisters():210 -> b
-    64:67:void computeNeedsRegister():2934:2937 -> b
+    64:67:void computeNeedsRegister():2935:2938 -> b
     64:67:void allocateRegisters():212 -> b
-    68:68:void constrainArgumentIntervals():2911:2911 -> b
+    68:68:void constrainArgumentIntervals():2912:2912 -> b
     68:68:void allocateRegisters():213 -> b
-    69:75:void createArgumentLiveIntervals(java.util.List):2885:2891 -> b
-    69:75:void constrainArgumentIntervals():2912 -> b
+    69:75:void createArgumentLiveIntervals(java.util.List):2886:2892 -> b
+    69:75:void constrainArgumentIntervals():2913 -> b
     69:75:void allocateRegisters():213 -> b
-    76:84:void linkArgumentValuesAndIntervals(java.util.List):2897:2905 -> b
-    76:84:void constrainArgumentIntervals():2913 -> b
+    76:84:void linkArgumentValuesAndIntervals(java.util.List):2898:2906 -> b
+    76:84:void constrainArgumentIntervals():2914 -> b
     76:84:void allocateRegisters():213 -> b
-    85:95:void insertRangeInvokeMoves():2917:2927 -> b
+    85:95:void insertRangeInvokeMoves():2918:2928 -> b
     85:95:void allocateRegisters():214 -> b
-    96:97:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():631:632 -> b
+    96:97:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():632:633 -> b
     96:97:void allocateRegisters():215 -> b
-    98:103:void computeLiveRanges():2492:2497 -> b
-    98:103:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():633 -> b
+    98:103:void computeLiveRanges():2493:2498 -> b
+    98:103:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():634 -> b
     98:103:void allocateRegisters():215 -> b
-    104:104:boolean com.android.tools.r8.utils.InternalOptions.canHaveThisTypeVerifierBug():1401:1401 -> b
-    104:104:void computeLiveRanges():2497 -> b
-    104:104:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():633 -> b
+    104:104:boolean com.android.tools.r8.utils.InternalOptions.canHaveThisTypeVerifierBug():1413:1413 -> b
+    104:104:void computeLiveRanges():2498 -> b
+    104:104:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():634 -> b
     104:104:void allocateRegisters():215 -> b
-    105:105:void computeLiveRanges():2497:2497 -> b
-    105:105:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():633 -> b
+    105:105:void computeLiveRanges():2498:2498 -> b
+    105:105:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():634 -> b
     105:105:void allocateRegisters():215 -> b
-    106:106:boolean com.android.tools.r8.utils.InternalOptions.canHaveThisJitCodeDebuggingBug():1410:1410 -> b
-    106:106:void computeLiveRanges():2497 -> b
-    106:106:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():633 -> b
+    106:106:boolean com.android.tools.r8.utils.InternalOptions.canHaveThisJitCodeDebuggingBug():1422:1422 -> b
+    106:106:void computeLiveRanges():2498 -> b
+    106:106:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():634 -> b
     106:106:void allocateRegisters():215 -> b
-    107:116:void computeLiveRanges():2497:2506 -> b
-    107:116:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():633 -> b
+    107:116:void computeLiveRanges():2498:2507 -> b
+    107:116:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():634 -> b
     107:116:void allocateRegisters():215 -> b
-    117:117:void performAllocation():640:640 -> b
+    117:117:void performAllocation():641:641 -> b
     117:117:void allocateRegisters():216 -> b
     118:130:void allocateRegisters():217:229 -> b
-    131:1145:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1014 -> b
-    131:1145:void allocateRegisters():229 -> b
-    1146:1154:void allocateRegisters():230:238 -> b
-    1155:1160:void clearState():534:539 -> b
-    1155:1160:void allocateRegisters():239 -> b
-    1161:1161:boolean lambda$computeDebugInfo$1(com.android.tools.r8.ir.code.Instruction):309:309 -> b
-    1162:1163:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):619:620 -> b
-    1164:1165:int getRegisterForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):797:798 -> b
-    1164:1165:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):620 -> b
-    1166:1166:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):622:622 -> b
-    1167:1168:void lambda$invariantsHold$4(java.util.TreeSet,int):1008:1009 -> b
-    1169:1186:boolean needsArrayGetWideWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1409:1426 -> b
-    1187:1191:boolean isArrayGetArrayRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1432:1436 -> b
-    1192:1196:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2131:2135 -> b
-    1197:1197:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> b
-    1197:1197:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2136 -> b
-    1198:1224:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2137:2163 -> b
-    1225:1229:void increaseCapacity(int,boolean):2964:2968 -> b
-    1230:1231:boolean registerIsFree(int):3105:3106 -> b
-    1:3:int registersUsed():591:593 -> c
-    4:9:int unadjustedRealRegisterFromAllocated(int):802:807 -> c
-    10:10:boolean needsLongResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1502:1502 -> c
-    11:11:boolean com.android.tools.r8.utils.InternalOptions.canHaveOverlappingLongRegisterBug():1416:1416 -> c
-    11:11:boolean needsLongResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1502 -> c
-    12:32:boolean needsLongResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1505:1525 -> c
-    33:45:boolean isLongResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1538:1550 -> c
-    46:46:boolean registersAreFree(int,boolean):3112:3112 -> c
-    1:1:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1441:1441 -> d
-    2:2:boolean com.android.tools.r8.utils.InternalOptions.canHaveCmpLongBug():1449:1449 -> d
-    2:2:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1441 -> d
-    3:3:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1441:1441 -> d
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.canHaveLongToIntBug():1623:1623 -> d
-    4:4:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1441 -> d
-    5:23:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1444:1462 -> d
+    131:1149:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():0:1018 -> b
+    131:1149:void allocateRegisters():229 -> b
+    1150:1158:void allocateRegisters():230:238 -> b
+    1159:1164:void clearState():535:540 -> b
+    1159:1164:void allocateRegisters():239 -> b
+    1165:1165:boolean lambda$computeDebugInfo$1(com.android.tools.r8.ir.code.Instruction):309:309 -> b
+    1166:1167:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):620:621 -> b
+    1168:1169:int getRegisterForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):798:799 -> b
+    1168:1169:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):621 -> b
+    1170:1170:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):623:623 -> b
+    1171:1172:void lambda$invariantsHold$4(java.util.TreeSet,int):1009:1010 -> b
+    1173:1190:boolean needsArrayGetWideWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1410:1427 -> b
+    1191:1195:boolean isArrayGetArrayRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1433:1437 -> b
+    1196:1200:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2132:2136 -> b
+    1201:1201:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> b
+    1201:1201:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2137 -> b
+    1202:1228:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2138:2164 -> b
+    1229:1233:void increaseCapacity(int,boolean):2965:2969 -> b
+    1234:1235:boolean registerIsFree(int):3106:3107 -> b
+    1:3:int registersUsed():592:594 -> c
+    4:9:int unadjustedRealRegisterFromAllocated(int):803:808 -> c
+    10:10:boolean needsLongResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1503:1503 -> c
+    11:11:boolean com.android.tools.r8.utils.InternalOptions.canHaveOverlappingLongRegisterBug():1428:1428 -> c
+    11:11:boolean needsLongResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1503 -> c
+    12:32:boolean needsLongResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1506:1526 -> c
+    33:45:boolean isLongResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1539:1551 -> c
+    46:46:boolean registersAreFree(int,boolean):3113:3113 -> c
+    1:1:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1442:1442 -> d
+    2:2:boolean com.android.tools.r8.utils.InternalOptions.canHaveCmpLongBug():1461:1461 -> d
+    2:2:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1442 -> d
+    3:3:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1442:1442 -> d
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.canHaveLongToIntBug():1635:1635 -> d
+    4:4:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1442 -> d
+    5:23:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1445:1463 -> d
     24:24:boolean com.android.tools.r8.ir.code.NumberConversion.isLongToIntConversion():52:52 -> d
-    24:24:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1462 -> d
-    25:25:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1472:1472 -> d
-    26:26:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1441:1441 -> d
-    26:26:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1472 -> d
-    27:27:boolean com.android.tools.r8.utils.InternalOptions.canHaveCmpLongBug():1449:1449 -> d
-    27:27:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1441 -> d
-    27:27:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1472 -> d
-    28:28:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1441:1441 -> d
-    28:28:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1472 -> d
-    29:29:boolean com.android.tools.r8.utils.InternalOptions.canHaveLongToIntBug():1623:1623 -> d
-    29:29:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1441 -> d
-    29:29:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1472 -> d
-    30:48:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1444:1462 -> d
-    30:48:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1472 -> d
+    24:24:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1463 -> d
+    25:25:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1473:1473 -> d
+    26:26:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1442:1442 -> d
+    26:26:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1473 -> d
+    27:27:boolean com.android.tools.r8.utils.InternalOptions.canHaveCmpLongBug():1461:1461 -> d
+    27:27:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1442 -> d
+    27:27:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1473 -> d
+    28:28:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1442:1442 -> d
+    28:28:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1473 -> d
+    29:29:boolean com.android.tools.r8.utils.InternalOptions.canHaveLongToIntBug():1635:1635 -> d
+    29:29:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1442 -> d
+    29:29:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1473 -> d
+    30:48:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1445:1463 -> d
+    30:48:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1473 -> d
     49:49:boolean com.android.tools.r8.ir.code.NumberConversion.isLongToIntConversion():52:52 -> d
-    49:49:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1462 -> d
-    49:49:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1472 -> d
-    50:65:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1472:1487 -> d
-    66:66:void clearUserInfo():2657:2657 -> d
-    1:26:boolean computeUnusedRegisters():546:571 -> e
-    27:37:boolean overlapsMoveExceptionInterval(com.android.tools.r8.ir.regalloc.LiveIntervals):1590:1600 -> e
+    49:49:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1463 -> d
+    49:49:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1473 -> d
+    50:65:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1473:1488 -> d
+    66:66:void clearUserInfo():2658:2658 -> d
+    1:26:boolean computeUnusedRegisters():547:572 -> e
+    27:37:boolean overlapsMoveExceptionInterval(com.android.tools.r8.ir.regalloc.LiveIntervals):1591:1601 -> e
     1:2:int getMoveExceptionRegister():185:186 -> f
-    3:4:boolean registersForIntervalsAreTaken(com.android.tools.r8.ir.regalloc.LiveIntervals):3120:3121 -> f
-    5:5:boolean registersAreTaken(int,boolean):3116:3116 -> f
-    5:5:boolean registersForIntervalsAreTaken(com.android.tools.r8.ir.regalloc.LiveIntervals):3121 -> f
+    3:4:boolean registersForIntervalsAreTaken(com.android.tools.r8.ir.regalloc.LiveIntervals):3121:3122 -> f
+    5:5:boolean registersAreTaken(int,boolean):3117:3117 -> f
+    5:5:boolean registersForIntervalsAreTaken(com.android.tools.r8.ir.regalloc.LiveIntervals):3122 -> f
     1:1:boolean hasDedicatedMoveExceptionRegister():177:177 -> g
-    2:2:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3094:3094 -> g
-    3:6:void takeFreeRegisters(int,boolean):3086:3089 -> g
-    3:6:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3094 -> g
-    7:10:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3096:3099 -> g
-    1:1:int highestUsedRegister():586:586 -> h
-    1:2:void computeRematerializableBits():2372:2373 -> i
-    1:2:void insertMoves():2348 -> i
-    3:12:void insertMoves():2350:2359 -> i
-    13:13:int toGapPosition(int):1394:1394 -> i
-    13:13:void insertMoves():2360 -> i
-    14:14:void insertMoves():2360:2360 -> i
-    15:15:void insertMoves():2358:2358 -> i
-    16:58:void resolveControlFlow(com.android.tools.r8.ir.regalloc.SpillMoveSet):2391:2433 -> i
-    16:58:void insertMoves():2366 -> i
-    59:60:void insertMoves():2367:2368 -> i
-    1:6:void removeSpillAndPhiMoves():752:757 -> j
-    1:28:boolean unsplitArguments():719:746 -> k
-    1:20:java.lang.String toString():3146:3165 -> toString
+    2:2:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3095:3095 -> g
+    3:6:void takeFreeRegisters(int,boolean):3087:3090 -> g
+    3:6:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3095 -> g
+    7:10:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3097:3100 -> g
+    1:1:int highestUsedRegister():587:587 -> h
+    1:2:void computeRematerializableBits():2373:2374 -> i
+    1:2:void insertMoves():2349 -> i
+    3:12:void insertMoves():2351:2360 -> i
+    13:13:int toGapPosition(int):1395:1395 -> i
+    13:13:void insertMoves():2361 -> i
+    14:14:void insertMoves():2361:2361 -> i
+    15:15:void insertMoves():2359:2359 -> i
+    16:58:void resolveControlFlow(com.android.tools.r8.ir.regalloc.SpillMoveSet):2392:2434 -> i
+    16:58:void insertMoves():2367 -> i
+    59:60:void insertMoves():2368:2369 -> i
+    1:6:void removeSpillAndPhiMoves():753:758 -> j
+    1:28:boolean unsplitArguments():720:747 -> k
+    1:20:java.lang.String toString():3147:3166 -> toString
 com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode -> com.android.tools.r8.ir.regalloc.a$a:
     com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode ALLOW_ARGUMENT_REUSE_U8BIT -> b
     com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode ALLOW_ARGUMENT_REUSE_U16BIT -> c
@@ -41489,12 +41556,12 @@
     4:4:void <clinit>():93:93 -> <clinit>
     1:1:void <init>(java.lang.String,int):93:93 -> <init>
 com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange -> com.android.tools.r8.ir.regalloc.a$b:
-    com.android.tools.r8.graph.DebugLocalInfo local -> b
-    boolean $assertionsDisabled -> f
-    int start -> d
-    com.android.tools.r8.ir.code.Value value -> a
-    int end -> e
-    int register -> c
+    com.android.tools.r8.graph.DebugLocalInfo local -> c
+    int end -> f
+    com.android.tools.r8.ir.code.Value value -> b
+    int register -> d
+    int start -> e
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():99:99 -> <clinit>
     1:7:void <init>(com.android.tools.r8.ir.code.Value,int,int,int):106:112 -> <init>
     1:3:int compareTo(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):117:119 -> a
@@ -41503,24 +41570,24 @@
     2:4:int compareTo(java.lang.Object):99 -> compareTo
     1:1:java.lang.String toString():124:124 -> toString
 com.android.tools.r8.ir.regalloc.LiveIntervals -> com.android.tools.r8.ir.regalloc.b:
-    boolean spilled -> m
-    boolean usedInMonitorOperations -> n
-    int registerLimit -> o
-    int numberOfConsecutiveRegisters -> j
-    int register -> k
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList sortedSplitChildrenEnds -> f
-    com.android.tools.r8.ir.regalloc.LiveIntervals nextConsecutive -> b
-    com.android.tools.r8.ir.regalloc.LiveIntervals previousConsecutive -> c
-    com.android.tools.r8.ir.regalloc.LiveIntervals splitParent -> d
-    boolean isRematerializable -> q
-    boolean $assertionsDisabled -> r
-    java.util.TreeSet uses -> i
-    java.util.List splitChildren -> e
-    java.lang.Integer hint -> l
-    boolean sortedChildren -> g
-    java.util.List ranges -> h
-    com.android.tools.r8.ir.code.Value value -> a
-    int maxNonSpilledRegister -> p
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList sortedSplitChildrenEnds -> g
+    boolean spilled -> n
+    int register -> l
+    boolean usedInMonitorOperations -> o
+    int numberOfConsecutiveRegisters -> k
+    com.android.tools.r8.ir.regalloc.LiveIntervals nextConsecutive -> c
+    com.android.tools.r8.ir.regalloc.LiveIntervals previousConsecutive -> d
+    com.android.tools.r8.ir.regalloc.LiveIntervals splitParent -> e
+    boolean isRematerializable -> r
+    java.util.TreeSet uses -> j
+    java.util.List splitChildren -> f
+    java.util.List ranges -> i
+    com.android.tools.r8.ir.code.Value value -> b
+    java.lang.Integer hint -> m
+    boolean sortedChildren -> h
+    boolean $assertionsDisabled -> a
+    int registerLimit -> p
+    int maxNonSpilledRegister -> q
     1:1:void <clinit>():24:24 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.Value):53:53 -> <init>
     2:26:void <init>(com.android.tools.r8.ir.code.Value):33:57 -> <init>
@@ -41708,9 +41775,9 @@
     1:5:boolean equals(java.lang.Object):32:36 -> equals
     1:1:int hashCode():27:27 -> hashCode
 com.android.tools.r8.ir.regalloc.LiveRange -> com.android.tools.r8.ir.regalloc.d:
-    com.android.tools.r8.ir.regalloc.LiveRange INFINITE -> c
-    int end -> b
-    int start -> a
+    com.android.tools.r8.ir.regalloc.LiveRange INFINITE -> a
+    int start -> b
+    int end -> c
     1:1:void <clinit>():8:8 -> <clinit>
     1:3:void <init>(int,int):13:15 -> <init>
     1:1:int compareTo(java.lang.Object):6:6 -> compareTo
@@ -41727,11 +41794,11 @@
     void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> b
     int registersUsed() -> c
 com.android.tools.r8.ir.regalloc.RegisterMove -> com.android.tools.r8.ir.regalloc.f:
-    com.android.tools.r8.ir.analysis.type.TypeElement type -> a
-    com.android.tools.r8.ir.code.Instruction definition -> d
-    boolean $assertionsDisabled -> e
-    int dst -> b
-    int src -> c
+    com.android.tools.r8.ir.analysis.type.TypeElement type -> b
+    com.android.tools.r8.ir.code.Instruction definition -> e
+    int src -> d
+    boolean $assertionsDisabled -> a
+    int dst -> c
     1:1:void <clinit>():13:13 -> <clinit>
     1:5:void <init>(int,int,com.android.tools.r8.ir.analysis.type.TypeElement):20:24 -> <init>
     6:11:void <init>(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.Instruction):27:32 -> <init>
@@ -41743,13 +41810,13 @@
     1:5:boolean equals(java.lang.Object):68:72 -> equals
     1:1:int hashCode():63:63 -> hashCode
 com.android.tools.r8.ir.regalloc.RegisterMoveScheduler -> com.android.tools.r8.ir.regalloc.g:
-    java.util.Map valueMap -> b
-    int tempRegister -> f
-    boolean $assertionsDisabled -> g
-    java.util.Set moveSet -> a
-    com.android.tools.r8.ir.code.InstructionListIterator insertAt -> d
-    int usedTempRegisters -> c
-    com.android.tools.r8.ir.code.Position position -> e
+    java.util.Map valueMap -> c
+    int tempRegister -> g
+    int usedTempRegisters -> d
+    com.android.tools.r8.ir.code.InstructionListIterator insertAt -> e
+    java.util.Set moveSet -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.Position position -> f
     1:1:void <clinit>():29:29 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.code.InstructionListIterator,int,com.android.tools.r8.ir.code.Position):45:45 -> <init>
     2:19:void <init>(com.android.tools.r8.ir.code.InstructionListIterator,int,com.android.tools.r8.ir.code.Position):31:48 -> <init>
@@ -41774,12 +41841,12 @@
     88:102:void schedule():107 -> b
     103:103:void schedule():108:108 -> b
 com.android.tools.r8.ir.regalloc.RegisterPositions -> com.android.tools.r8.ir.regalloc.h:
-    int[] backing -> b
-    boolean $assertionsDisabled -> f
-    java.util.BitSet registerHoldsConstant -> c
-    java.util.BitSet registerHoldsNewStringInstanceDisallowingSpilling -> e
-    int limit -> a
-    java.util.BitSet registerHoldsMonitor -> d
+    java.util.BitSet registerHoldsNewStringInstanceDisallowingSpilling -> f
+    int[] backing -> c
+    boolean $assertionsDisabled -> a
+    int limit -> b
+    java.util.BitSet registerHoldsMonitor -> e
+    java.util.BitSet registerHoldsConstant -> d
     1:1:void <clinit>():17:17 -> <clinit>
     1:9:void <init>(int):28:36 -> <init>
     1:13:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):40:52 -> a
@@ -41809,25 +41876,25 @@
     1:1:void <clinit>():19:19 -> <clinit>
     1:1:void <init>(java.lang.String,int):19:19 -> <init>
 com.android.tools.r8.ir.regalloc.SpillMove -> com.android.tools.r8.ir.regalloc.i:
-    com.android.tools.r8.ir.analysis.type.TypeElement type -> a
-    com.android.tools.r8.ir.regalloc.LiveIntervals from -> b
-    com.android.tools.r8.ir.regalloc.LiveIntervals to -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.ir.analysis.type.TypeElement type -> b
+    com.android.tools.r8.ir.regalloc.LiveIntervals from -> c
+    com.android.tools.r8.ir.regalloc.LiveIntervals to -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():14:14 -> <clinit>
     1:6:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):19:24 -> <init>
     1:9:boolean equals(java.lang.Object):47:55 -> equals
     1:1:int hashCode():29:29 -> hashCode
     1:1:java.lang.String toString():60:60 -> toString
 com.android.tools.r8.ir.regalloc.SpillMoveSet -> com.android.tools.r8.ir.regalloc.j:
-    java.util.Map instructionToInMoves -> a
-    java.util.Map instructionToOutMoves -> b
-    java.util.Map instructionToPhiMoves -> c
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.ir.code.IRCode code -> d
-    int usedTempRegisters -> h
-    java.util.Map blockStartMap -> g
-    com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator allocator -> e
-    com.android.tools.r8.ir.analysis.type.TypeElement objectType -> f
+    com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator allocator -> f
+    java.util.Map instructionToInMoves -> b
+    java.util.Map instructionToOutMoves -> c
+    java.util.Map instructionToPhiMoves -> d
+    com.android.tools.r8.ir.code.IRCode code -> e
+    int usedTempRegisters -> i
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.analysis.type.TypeElement objectType -> g
+    java.util.Map blockStartMap -> h
     1:1:void <clinit>():26:26 -> <clinit>
     1:1:void <init>(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):45:45 -> <init>
     2:23:void <init>(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):29:50 -> <init>
@@ -41838,7 +41905,7 @@
     14:16:com.android.tools.r8.ir.analysis.type.TypeElement moveTypeForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):204:206 -> a
     17:19:boolean needsMovesBeforeInstruction(int):213:215 -> a
     20:30:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):284:294 -> a
-    31:31:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1574:1574 -> a
+    31:31:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1555:1555 -> a
     31:31:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):294 -> a
     32:43:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):299:310 -> a
     44:47:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):269:272 -> a
@@ -41859,7 +41926,7 @@
     60:64:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):316:320 -> a
     65:73:void removeArgumentRestores(java.util.Set):332:340 -> a
     74:98:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):347:371 -> a
-    99:99:boolean com.android.tools.r8.utils.InternalOptions.canHaveBoundsCheckEliminationBug():1385:1385 -> a
+    99:99:boolean com.android.tools.r8.utils.InternalOptions.canHaveBoundsCheckEliminationBug():1397:1397 -> a
     99:99:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):371 -> a
     100:105:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):371:376 -> a
     106:110:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):375:379 -> a
@@ -41953,10 +42020,10 @@
     44:44:com.android.tools.r8.graph.CfCode generateCfCode():207 -> a
     45:50:com.android.tools.r8.graph.CfCode generateCfCode():209:214 -> a
 com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterWrapperConversionCfCodeProvider -> com.android.tools.r8.s.d.f:
-    com.android.tools.r8.graph.DexField wrapperField -> e
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.DexType argType -> c
-    com.android.tools.r8.graph.DexField reverseWrapperField -> d
+    com.android.tools.r8.graph.DexField wrapperField -> f
+    com.android.tools.r8.graph.DexField reverseWrapperField -> e
+    com.android.tools.r8.graph.DexType argType -> d
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():218:218 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):226:229 -> <init>
     1:34:com.android.tools.r8.graph.CfCode generateCfCode():234:267 -> a
@@ -41972,28 +42039,28 @@
     1:4:void addReturn(java.util.List):100:103 -> b
     1:2:void loadExtraParameters(java.util.List):94:95 -> c
 com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider -> com.android.tools.r8.s.d.l:
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):37:37 -> <init>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):38:38 -> <init>
 com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingDefaultToStringCfCodeProvider -> com.android.tools.r8.s.d.i:
     com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap map -> c
-    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap):47:49 -> <init>
-    1:21:com.android.tools.r8.graph.CfCode generateCfCode():59:79 -> a
-    22:28:void lambda$generateCfCode$0(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfo):66:72 -> a
+    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap):48:50 -> <init>
+    1:21:com.android.tools.r8.graph.CfCode generateCfCode():60:80 -> a
+    22:28:void lambda$generateCfCode$0(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfo):67:73 -> a
 com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingValueOfCfCodeProvider -> com.android.tools.r8.s.d.j:
     com.android.tools.r8.graph.DexType enumType -> c
     com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap map -> d
-    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap):90:92 -> <init>
-    1:39:com.android.tools.r8.graph.CfCode generateCfCode():104:142 -> a
-    40:40:com.android.tools.r8.graph.CfCode generateCfCode():141:141 -> a
-    41:55:com.android.tools.r8.graph.CfCode generateCfCode():137:151 -> a
-    56:64:void lambda$generateCfCode$0(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfo):123:131 -> a
+    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap):91:93 -> <init>
+    1:39:com.android.tools.r8.graph.CfCode generateCfCode():105:143 -> a
+    40:40:com.android.tools.r8.graph.CfCode generateCfCode():142:142 -> a
+    41:55:com.android.tools.r8.graph.CfCode generateCfCode():138:152 -> a
+    56:64:void lambda$generateCfCode$0(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfo):124:132 -> a
 com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingValuesCfCodeProvider -> com.android.tools.r8.s.d.k:
-    boolean $assertionsDisabled -> f
-    int numEnumInstances -> d
-    com.android.tools.r8.graph.DexMethod initializationMethod -> e
-    com.android.tools.r8.graph.DexField utilityField -> c
-    1:1:void <clinit>():155:155 -> <clinit>
-    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,int,com.android.tools.r8.graph.DexMethod):167:171 -> <init>
-    1:12:com.android.tools.r8.graph.CfCode generateCfCode():183:194 -> a
+    com.android.tools.r8.graph.DexMethod initializationMethod -> f
+    com.android.tools.r8.graph.DexField utilityField -> d
+    int numEnumInstances -> e
+    boolean $assertionsDisabled -> c
+    1:1:void <clinit>():156:156 -> <clinit>
+    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,int,com.android.tools.r8.graph.DexMethod):168:172 -> <init>
+    1:12:com.android.tools.r8.graph.CfCode generateCfCode():184:195 -> a
 com.android.tools.r8.ir.synthetic.ExceptionThrowingSourceCode -> com.android.tools.r8.s.d.m:
     com.android.tools.r8.graph.DexType exceptionType -> l
     1:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType):24:25 -> <init>
@@ -42001,8 +42068,8 @@
     12:19:void lambda$prepareInstructions$0(com.android.tools.r8.ir.conversion.IRBuilder):37:44 -> f
     1:1:void prepareInstructions():30:30 -> h
 com.android.tools.r8.ir.synthetic.FieldAccessorSourceCode -> com.android.tools.r8.s.d.n:
-    boolean $assertionsDisabled -> m
-    com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess fieldWithAccess -> l
+    boolean $assertionsDisabled -> l
+    com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess fieldWithAccess -> m
     1:1:void <clinit>():15:15 -> <clinit>
     1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess):25:27 -> <init>
     1:1:void lambda$prepareInstructions$0(int,int,com.android.tools.r8.ir.conversion.IRBuilder):36:36 -> b
@@ -42012,24 +42079,24 @@
     1:1:void lambda$prepareInstructions$3(int,com.android.tools.r8.ir.conversion.IRBuilder):42:42 -> d
     1:1:void lambda$prepareInstructions$5(int,com.android.tools.r8.ir.conversion.IRBuilder):51:51 -> e
     1:12:void prepareInstructions():32:43 -> h
-    13:13:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstance():495:495 -> h
-    13:13:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstancePut():511 -> h
+    13:13:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstance():499:499 -> h
+    13:13:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstancePut():515 -> h
     13:13:void prepareInstructions():43 -> h
-    14:14:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstancePut():511:511 -> h
+    14:14:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isInstancePut():515:515 -> h
     14:14:void prepareInstructions():43 -> h
     15:20:void prepareInstructions():44:49 -> h
-    21:21:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isStaticPut():503:503 -> h
+    21:21:boolean com.android.tools.r8.ir.desugar.NestBasedAccessDesugaring$DexFieldWithAccess.isStaticPut():507:507 -> h
     21:21:void prepareInstructions():49 -> h
     22:25:void prepareInstructions():49:52 -> h
 com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode -> com.android.tools.r8.s.d.o:
-    com.android.tools.r8.graph.DexType targetReceiver -> l
-    com.android.tools.r8.graph.DexMethod target -> m
-    boolean castResult -> o
-    boolean isInterface -> p
-    com.android.tools.r8.ir.code.Invoke$Type invokeType -> n
-    boolean extraNullParameter -> q
-    boolean $assertionsDisabled -> r
-    int $r8$clinit -> s
+    com.android.tools.r8.graph.DexMethod target -> o
+    int $r8$clinit -> m
+    com.android.tools.r8.graph.DexType targetReceiver -> n
+    boolean $assertionsDisabled -> l
+    com.android.tools.r8.ir.code.Invoke$Type invokeType -> p
+    boolean castResult -> q
+    boolean isInterface -> r
+    boolean extraNullParameter -> s
     1:1:void <clinit>():21:21 -> <clinit>
     1:20:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.ir.code.Position,boolean,boolean,boolean):122:141 -> <init>
     1:1:void lambda$prepareInstructions$0(java.util.List,java.util.List,com.android.tools.r8.ir.conversion.IRBuilder):196:196 -> a
@@ -42075,17 +42142,17 @@
     2:2:com.android.tools.r8.graph.CfCode standardCfCodeFromInstructions(java.util.List):33 -> a
     3:3:com.android.tools.r8.graph.CfCode standardCfCodeFromInstructions(java.util.List):34:34 -> a
 com.android.tools.r8.ir.synthetic.SyntheticSourceCode -> com.android.tools.r8.s.d.r:
-    java.util.function.Predicate endsBlock -> j
-    com.android.tools.r8.ir.code.Position position -> h
-    java.util.List constructors -> f
-    boolean $assertionsDisabled -> k
-    int[] paramRegisters -> e
-    int receiverRegister -> d
-    com.android.tools.r8.graph.DexType receiver -> a
-    com.android.tools.r8.graph.DexProto proto -> b
-    java.util.List traceEvents -> g
-    int nextRegister -> c
-    java.util.function.Predicate doesNotEndBlock -> i
+    int[] paramRegisters -> h
+    com.android.tools.r8.ir.code.Position position -> k
+    com.android.tools.r8.graph.DexProto proto -> e
+    java.util.function.Predicate doesNotEndBlock -> a
+    java.util.function.Predicate endsBlock -> b
+    com.android.tools.r8.graph.DexType receiver -> d
+    int nextRegister -> f
+    java.util.List traceEvents -> j
+    int receiverRegister -> g
+    java.util.List constructors -> i
+    boolean $assertionsDisabled -> c
     1:3:void <clinit>():23:25 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):47:47 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexMethod):51:51 -> <init>
@@ -42386,7 +42453,7 @@
     1:14:java.lang.String toString():206:219 -> toString
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator -> com.android.tools.r8.t.a.a.a.f.h:
     1:1:void <init>():34:34 -> <init>
-    int nextInt() -> i
+    int nextInt() -> j
     1:1:java.lang.Integer next():57:57 -> next
     1:1:java.lang.Object next():33 -> next
     1:1:void remove():68:68 -> remove
@@ -42447,10 +42514,10 @@
     1:1:java.util.List subList(int,int):32:32 -> subList
     1:14:java.lang.String toString():709:722 -> toString
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList -> com.android.tools.r8.t.a.a.a.f.j:
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList l -> a
-    int from -> b
-    int to -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList l -> b
+    int to -> d
+    boolean $assertionsDisabled -> a
+    int from -> c
     1:1:void <clinit>():726:726 -> <clinit>
     1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int,int):735:738 -> <init>
     1:1:boolean access$000(com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList):726:726 -> a
@@ -42502,11 +42569,11 @@
     1:1:int size():792:792 -> size
     1:1:java.util.List subList(int,int):726:726 -> subList
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList$1 -> com.android.tools.r8.t.a.a.a.f.i:
-    boolean $assertionsDisabled -> e
-    int last -> b
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList this$0 -> d
-    int val$index -> c
-    int pos -> a
+    int val$index -> d
+    boolean $assertionsDisabled -> a
+    int pos -> b
+    int last -> c
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList this$0 -> e
     1:1:void <clinit>():822:822 -> <clinit>
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList,int):822:823 -> <init>
     1:5:void add(int):852:852 -> a
@@ -42514,7 +42581,7 @@
     1:3:int previousInt():839:839 -> e
     1:1:boolean hasNext():826:826 -> hasNext
     1:1:boolean hasPrevious():830:830 -> hasPrevious
-    1:3:int nextInt():834:834 -> i
+    1:3:int nextInt():834:834 -> j
     1:1:int nextIndex():844:844 -> nextIndex
     1:1:int previousIndex():848:848 -> previousIndex
     1:11:void remove():864:864 -> remove
@@ -42720,7 +42787,7 @@
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeyIterator -> com.android.tools.r8.t.a.a.a.f.y:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):787:788 -> <init>
-    1:1:int nextInt():793:793 -> i
+    1:1:int nextInt():793:793 -> j
     1:1:java.lang.Integer next():799:799 -> next
     1:1:java.lang.Object next():786 -> next
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeySet -> com.android.tools.r8.t.a.a.a.f.z:
@@ -42771,7 +42838,7 @@
     1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):552:575 -> <init>
     25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1):552:552 -> <init>
     1:1:boolean hasNext():583:583 -> hasNext
-    1:19:int nextEntry():587:587 -> k
+    1:19:int nextEntry():587:587 -> l
     1:4:void remove():641:644 -> remove
     5:10:void shiftKeys(int):619:624 -> remove
     5:10:void remove():644 -> remove
@@ -42783,7 +42850,7 @@
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$ValueIterator -> com.android.tools.r8.t.a.a.a.f.D:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):848:849 -> <init>
-    1:1:int nextInt():854:854 -> i
+    1:1:int nextInt():854:854 -> j
     1:1:java.lang.Integer next():860:860 -> next
     1:1:java.lang.Object next():847 -> next
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap -> com.android.tools.r8.t.a.a.a.f.K:
@@ -43057,7 +43124,7 @@
     2:2:void add(java.lang.Integer):1301:1301 -> add
     2:2:void add(java.lang.Object):1252 -> add
     1:1:int previousInt():1267:1267 -> e
-    1:1:int nextInt():1262:1262 -> i
+    1:1:int nextInt():1262:1262 -> j
     1:1:java.lang.Integer next():1283:1283 -> next
     1:1:java.lang.Object next():1252 -> next
     1:1:java.lang.Integer previous():1289:1289 -> previous
@@ -43196,21 +43263,21 @@
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator -> com.android.tools.r8.t.a.a.a.f.K$d$c:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> f
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777:1778 -> <init>
-    1:2:void updateNext():1802:1803 -> m
-    3:235:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.compare(int,int):0:232 -> m
-    3:235:void updateNext():1803 -> m
-    236:236:void updateNext():1803:1803 -> m
-    1:2:void updatePrevious():1797:1798 -> n
+    1:2:void updateNext():1802:1803 -> n
     3:235:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.compare(int,int):0:232 -> n
-    3:235:void updatePrevious():1798 -> n
-    236:236:void updatePrevious():1798:1798 -> n
+    3:235:void updateNext():1803 -> n
+    236:236:void updateNext():1803:1803 -> n
+    1:2:void updatePrevious():1797:1798 -> o
+    3:235:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.compare(int,int):0:232 -> o
+    3:235:void updatePrevious():1798 -> o
+    236:236:void updatePrevious():1798:1798 -> o
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.t.a.a.a.f.K$d$d:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1848:1848 -> <init>
     1:1:void add(java.lang.Object):1846:1846 -> add
     2:2:void add(java.lang.Integer):1896:1896 -> add
     2:2:void add(java.lang.Object):1846 -> add
     1:1:int previousInt():1862:1862 -> e
-    1:1:int nextInt():1857:1857 -> i
+    1:1:int nextInt():1857:1857 -> j
     1:1:java.lang.Integer next():1878:1878 -> next
     1:1:java.lang.Object next():1846 -> next
     1:1:java.lang.Integer previous():1884:1884 -> previous
@@ -43235,11 +43302,11 @@
     2:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1040:1043 -> <init>
     1:1:boolean hasNext():1056:1056 -> hasNext
     1:1:boolean hasPrevious():1060:1060 -> hasPrevious
-    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry nextEntry():1068:1068 -> k
-    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry previousEntry():1080:1080 -> l
-    1:1:void updateNext():1064:1064 -> m
-    1:1:void updatePrevious():1076:1076 -> n
+    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry nextEntry():1068:1068 -> l
+    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry previousEntry():1080:1080 -> m
+    1:1:void updateNext():1064:1064 -> n
     1:1:int nextIndex():1088:1088 -> nextIndex
+    1:1:void updatePrevious():1076:1076 -> o
     1:1:int previousIndex():1092:1092 -> previousIndex
     1:12:void remove():1096:1096 -> remove
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$ValueIterator -> com.android.tools.r8.t.a.a.a.f.K$f:
@@ -43403,7 +43470,7 @@
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeyIterator -> com.android.tools.r8.t.a.a.a.f.X$b:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):721:722 -> <init>
-    1:1:int nextInt():727:727 -> i
+    1:1:int nextInt():727:727 -> j
     1:1:java.lang.Integer next():733:733 -> next
     1:1:java.lang.Object next():720 -> next
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.t.a.a.a.f.X$c:
@@ -43445,7 +43512,7 @@
     1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):486:509 -> <init>
     25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1):486:486 -> <init>
     1:1:boolean hasNext():517:517 -> hasNext
-    1:19:int nextEntry():521:521 -> k
+    1:19:int nextEntry():521:521 -> l
     1:5:void remove():576:580 -> remove
     6:12:void shiftKeys(int):553:559 -> remove
     6:12:void remove():580 -> remove
@@ -43662,7 +43729,7 @@
     2:2:void add(java.lang.Integer):1267:1267 -> add
     2:2:void add(java.lang.Object):1218 -> add
     1:1:int previousInt():1233:1233 -> e
-    1:1:int nextInt():1228:1228 -> i
+    1:1:int nextInt():1228:1228 -> j
     1:1:java.lang.Integer next():1249:1249 -> next
     1:1:java.lang.Object next():1218 -> next
     1:1:java.lang.Integer previous():1255:1255 -> previous
@@ -43801,21 +43868,21 @@
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.t.a.a.a.f.d0$d$c:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> f
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742:1743 -> <init>
-    1:2:void updateNext():1767:1768 -> m
-    3:237:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):0:234 -> m
-    3:237:void updateNext():1768 -> m
-    238:238:void updateNext():1768:1768 -> m
-    1:2:void updatePrevious():1762:1763 -> n
+    1:2:void updateNext():1767:1768 -> n
     3:237:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):0:234 -> n
-    3:237:void updatePrevious():1763 -> n
-    238:238:void updatePrevious():1763:1763 -> n
+    3:237:void updateNext():1768 -> n
+    238:238:void updateNext():1768:1768 -> n
+    1:2:void updatePrevious():1762:1763 -> o
+    3:237:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):0:234 -> o
+    3:237:void updatePrevious():1763 -> o
+    238:238:void updatePrevious():1763:1763 -> o
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.t.a.a.a.f.d0$d$d:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1813:1813 -> <init>
     1:1:void add(java.lang.Object):1811:1811 -> add
     2:2:void add(java.lang.Integer):1861:1861 -> add
     2:2:void add(java.lang.Object):1811 -> add
     1:1:int previousInt():1827:1827 -> e
-    1:1:int nextInt():1822:1822 -> i
+    1:1:int nextInt():1822:1822 -> j
     1:1:java.lang.Integer next():1843:1843 -> next
     1:1:java.lang.Object next():1811 -> next
     1:1:java.lang.Integer previous():1849:1849 -> previous
@@ -43840,11 +43907,11 @@
     2:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1006:1009 -> <init>
     1:1:boolean hasNext():1022:1022 -> hasNext
     1:1:boolean hasPrevious():1026:1026 -> hasPrevious
-    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry nextEntry():1034:1034 -> k
-    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry previousEntry():1046:1046 -> l
-    1:1:void updateNext():1030:1030 -> m
-    1:1:void updatePrevious():1042:1042 -> n
+    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry nextEntry():1034:1034 -> l
+    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry previousEntry():1046:1046 -> m
+    1:1:void updateNext():1030:1030 -> n
     1:1:int nextIndex():1054:1054 -> nextIndex
+    1:1:void updatePrevious():1042:1042 -> o
     1:1:int previousIndex():1058:1058 -> previousIndex
     1:12:void remove():1062:1062 -> remove
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$ValueIterator -> com.android.tools.r8.t.a.a.a.f.d0$f:
@@ -43951,7 +44018,7 @@
     1:3:int previousInt():511:511 -> e
     1:1:boolean hasNext():498:498 -> hasNext
     1:1:boolean hasPrevious():502:502 -> hasPrevious
-    1:3:int nextInt():506:506 -> i
+    1:3:int nextInt():506:506 -> j
     1:1:int nextIndex():516:516 -> nextIndex
     1:1:int previousIndex():520:520 -> previousIndex
     1:10:void remove():534:534 -> remove
@@ -43982,7 +44049,7 @@
     int next -> a
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet):119:120 -> <init>
     1:1:boolean hasNext():124:124 -> hasNext
-    1:3:int nextInt():129:129 -> i
+    1:3:int nextInt():129:129 -> j
     1:2:void remove():135:136 -> remove
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays -> com.android.tools.r8.t.a.a.a.f.n0:
     int[] EMPTY_ARRAY -> a
@@ -44032,7 +44099,7 @@
     1:1:java.lang.String toString():512:512 -> toString
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator -> com.android.tools.r8.t.a.a.a.f.t0:
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator -> com.android.tools.r8.t.a.a.a.f.u0:
-    int nextInt() -> i
+    int nextInt() -> j
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators -> com.android.tools.r8.t.a.a.a.f.y0:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$EmptyIterator EMPTY_ITERATOR -> a
     1:1:void <clinit>():103:103 -> <clinit>
@@ -44040,7 +44107,7 @@
     1:1:void <init>():42:42 -> <init>
     1:1:java.lang.Object clone():87:87 -> clone
     1:1:int previousInt():62:62 -> e
-    1:1:int nextInt():57:57 -> i
+    1:1:int nextInt():57:57 -> j
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$SingletonIterator -> com.android.tools.r8.t.a.a.a.f.w0:
     int curr -> b
     int element -> a
@@ -44048,14 +44115,14 @@
     1:4:int previousInt():133:133 -> e
     1:1:boolean hasNext():116:116 -> hasNext
     1:1:boolean hasPrevious():121:121 -> hasPrevious
-    1:4:int nextInt():126:126 -> i
+    1:4:int nextInt():126:126 -> j
     1:1:int nextIndex():140:140 -> nextIndex
     1:1:int previousIndex():145:145 -> previousIndex
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$UnmodifiableIterator -> com.android.tools.r8.t.a.a.a.f.x0:
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator i -> a
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator):807:808 -> <init>
     1:1:boolean hasNext():813:813 -> hasNext
-    1:1:int nextInt():818:818 -> i
+    1:1:int nextInt():818:818 -> j
 com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList -> com.android.tools.r8.t.a.a.a.f.z0:
     boolean add(int) -> a
     boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList) -> a
@@ -44204,7 +44271,7 @@
     1:21:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet):446:466 -> <init>
     22:22:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$1):446:446 -> <init>
     1:1:boolean hasNext():474:474 -> hasNext
-    1:16:int nextInt():478:478 -> i
+    1:16:int nextInt():478:478 -> j
     1:5:void remove():528:532 -> remove
     6:11:void shiftKeys(int):507:512 -> remove
     6:11:void remove():532 -> remove
@@ -44397,10 +44464,10 @@
     2:2:java.lang.String toString():709 -> toString
     3:14:java.lang.String toString():710:721 -> toString
 com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList -> com.android.tools.r8.t.a.a.a.g.e:
-    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList l -> a
-    int from -> b
-    int to -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList l -> b
+    int to -> d
+    boolean $assertionsDisabled -> a
+    int from -> c
     1:1:void <clinit>():725:725 -> <clinit>
     1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList,int,int):734:737 -> <init>
     1:1:boolean access$000(com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList):725:725 -> a
@@ -44448,11 +44515,11 @@
     1:1:int size():791:791 -> size
     1:1:java.util.List subList(int,int):725:725 -> subList
 com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList$1 -> com.android.tools.r8.t.a.a.a.g.d:
-    com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList this$0 -> d
-    boolean $assertionsDisabled -> e
-    int last -> b
-    int val$index -> c
-    int pos -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList this$0 -> e
+    int val$index -> d
+    boolean $assertionsDisabled -> a
+    int pos -> b
+    int last -> c
     1:1:void <clinit>():821:821 -> <clinit>
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList,int):821:822 -> <init>
     1:3:long nextLong():833:833 -> a
@@ -44602,7 +44669,7 @@
     1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):486:509 -> <init>
     25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1):486:486 -> <init>
     1:1:boolean hasNext():517:517 -> hasNext
-    1:19:int nextEntry():521:521 -> k
+    1:19:int nextEntry():521:521 -> l
     1:5:void remove():576:580 -> remove
     6:12:void shiftKeys(int):553:559 -> remove
     6:12:void remove():580 -> remove
@@ -45009,10 +45076,10 @@
     2:2:java.lang.String toString():503 -> toString
     3:15:java.lang.String toString():504:516 -> toString
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList -> com.android.tools.r8.t.a.a.a.h.o:
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList l -> a
-    int from -> b
-    int to -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList l -> b
+    int to -> d
+    boolean $assertionsDisabled -> a
+    int from -> c
     1:1:void <clinit>():520:520 -> <clinit>
     1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList,int,int):529:532 -> <init>
     1:1:boolean access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList):520:520 -> a
@@ -45041,11 +45108,11 @@
     1:1:int size():586:586 -> size
     1:1:java.util.List subList(int,int):520:520 -> subList
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList$1 -> com.android.tools.r8.t.a.a.a.h.n:
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList this$0 -> d
-    boolean $assertionsDisabled -> e
-    int last -> b
-    int val$index -> c
-    int pos -> a
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList this$0 -> e
+    int val$index -> d
+    boolean $assertionsDisabled -> a
+    int pos -> b
+    int last -> c
     1:1:void <clinit>():616:616 -> <clinit>
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList,int):616:617 -> <init>
     1:5:void add(java.lang.Object):646:646 -> add
@@ -45266,10 +45333,10 @@
     2:2:java.lang.String toString():462 -> toString
     3:15:java.lang.String toString():463:475 -> toString
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList -> com.android.tools.r8.t.a.a.a.h.A:
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList l -> a
-    int from -> b
-    int to -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList l -> b
+    int to -> d
+    boolean $assertionsDisabled -> a
+    int from -> c
     1:1:void <clinit>():479:479 -> <clinit>
     1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList,int,int):488:491 -> <init>
     1:1:boolean access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList):479:479 -> a
@@ -45297,11 +45364,11 @@
     1:1:int size():545:545 -> size
     1:1:java.util.List subList(int,int):479:479 -> subList
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList$1 -> com.android.tools.r8.t.a.a.a.h.z:
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList this$0 -> d
-    int last -> b
-    int val$index -> c
-    int pos -> a
+    int val$index -> d
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList this$0 -> e
+    boolean $assertionsDisabled -> a
+    int pos -> b
+    int last -> c
     1:1:void <clinit>():575:575 -> <clinit>
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList,int):575:576 -> <init>
     1:5:void add(java.lang.Object):605:605 -> add
@@ -45597,9 +45664,9 @@
     3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1038:1059 -> <init>
     1:1:boolean hasNext():1091:1091 -> hasNext
     1:1:boolean hasPrevious():1095:1095 -> hasPrevious
-    1:14:void ensureIndexKnown():1099:1112 -> k
-    1:6:int nextEntry():1127:1127 -> l
-    1:6:int previousEntry():1136:1136 -> m
+    1:14:void ensureIndexKnown():1099:1112 -> l
+    1:6:int nextEntry():1127:1127 -> m
+    1:6:int previousEntry():1136:1136 -> n
     1:2:int nextIndex():1117:1118 -> nextIndex
     1:2:int previousIndex():1122:1123 -> previousIndex
     1:47:void remove():1145:1191 -> remove
@@ -45611,7 +45678,7 @@
     2:2:void add(java.lang.Integer):1565:1565 -> add
     2:2:void add(java.lang.Object):1544 -> add
     1:1:int previousInt():1547:1547 -> e
-    1:1:int nextInt():1584:1584 -> i
+    1:1:int nextInt():1584:1584 -> j
     1:1:java.lang.Integer next():1590:1590 -> next
     1:1:java.lang.Object next():1544 -> next
     1:1:java.lang.Integer previous():1553:1553 -> previous
@@ -45746,7 +45813,7 @@
     1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):541:564 -> <init>
     25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1):541:541 -> <init>
     1:1:boolean hasNext():572:572 -> hasNext
-    1:19:int nextEntry():576:576 -> k
+    1:19:int nextEntry():576:576 -> l
     1:5:void remove():630:634 -> remove
     6:11:void shiftKeys(int):608:613 -> remove
     6:11:void remove():634 -> remove
@@ -45758,7 +45825,7 @@
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$ValueIterator -> com.android.tools.r8.t.a.a.a.h.T$g:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):830:831 -> <init>
-    1:1:int nextInt():836:836 -> i
+    1:1:int nextInt():836:836 -> j
     1:1:java.lang.Integer next():842:842 -> next
     1:1:java.lang.Object next():829 -> next
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.t.a.a.a.h.U:
@@ -45889,7 +45956,7 @@
     1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):541:564 -> <init>
     25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1):541:541 -> <init>
     1:1:boolean hasNext():572:572 -> hasNext
-    1:19:int nextEntry():576:576 -> k
+    1:19:int nextEntry():576:576 -> l
     1:5:void remove():630:634 -> remove
     6:11:void shiftKeys(int):608:613 -> remove
     6:11:void remove():634 -> remove
@@ -46066,9 +46133,9 @@
     3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):995:1016 -> <init>
     1:1:boolean hasNext():1048:1048 -> hasNext
     1:1:boolean hasPrevious():1052:1052 -> hasPrevious
-    1:14:void ensureIndexKnown():1056:1069 -> k
-    1:6:int nextEntry():1084:1084 -> l
-    1:6:int previousEntry():1093:1093 -> m
+    1:14:void ensureIndexKnown():1056:1069 -> l
+    1:6:int nextEntry():1084:1084 -> m
+    1:6:int previousEntry():1093:1093 -> n
     1:2:int nextIndex():1074:1075 -> nextIndex
     1:2:int previousIndex():1079:1080 -> previousIndex
     1:49:void remove():1102:1150 -> remove
@@ -46248,9 +46315,9 @@
     3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):964:985 -> <init>
     1:1:boolean hasNext():1017:1017 -> hasNext
     1:1:boolean hasPrevious():1021:1021 -> hasPrevious
-    1:14:void ensureIndexKnown():1025:1038 -> k
-    1:6:int nextEntry():1053:1053 -> l
-    1:6:int previousEntry():1062:1062 -> m
+    1:14:void ensureIndexKnown():1025:1038 -> l
+    1:6:int nextEntry():1053:1053 -> m
+    1:6:int previousEntry():1062:1062 -> n
     1:2:int nextIndex():1043:1044 -> nextIndex
     1:2:int previousIndex():1048:1049 -> previousIndex
     1:49:void remove():1071:1119 -> remove
@@ -46592,8 +46659,8 @@
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.t.a.a.a.h.m0$d$c:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> f
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703:1704 -> <init>
-    1:2:void updateNext():1728:1729 -> m
-    1:2:void updatePrevious():1723:1724 -> n
+    1:2:void updateNext():1728:1729 -> n
+    1:2:void updatePrevious():1723:1724 -> o
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.t.a.a.a.h.m0$d$d:
     1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1774:1774 -> <init>
     1:1:void add(java.lang.Object):1798:1798 -> add
@@ -46617,11 +46684,11 @@
     2:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):995:998 -> <init>
     1:1:boolean hasNext():1011:1011 -> hasNext
     1:1:boolean hasPrevious():1015:1015 -> hasPrevious
-    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry nextEntry():1023:1023 -> k
-    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry previousEntry():1035:1035 -> l
-    1:1:void updateNext():1019:1019 -> m
-    1:1:void updatePrevious():1031:1031 -> n
+    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry nextEntry():1023:1023 -> l
+    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry previousEntry():1035:1035 -> m
+    1:1:void updateNext():1019:1019 -> n
     1:1:int nextIndex():1043:1043 -> nextIndex
+    1:1:void updatePrevious():1031:1031 -> o
     1:1:int previousIndex():1047:1047 -> previousIndex
     1:12:void remove():1051:1051 -> remove
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$ValueIterator -> com.android.tools.r8.t.a.a.a.h.m0$f:
@@ -46879,7 +46946,7 @@
     1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):496:519 -> <init>
     25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1):496:496 -> <init>
     1:1:boolean hasNext():527:527 -> hasNext
-    1:19:int nextEntry():531:531 -> k
+    1:19:int nextEntry():531:531 -> l
     1:5:void remove():585:589 -> remove
     6:11:void shiftKeys(int):563:568 -> remove
     6:11:void remove():589 -> remove
@@ -47119,9 +47186,9 @@
     3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1038:1059 -> <init>
     1:1:boolean hasNext():1091:1091 -> hasNext
     1:1:boolean hasPrevious():1095:1095 -> hasPrevious
-    1:14:void ensureIndexKnown():1099:1112 -> k
-    1:6:int nextEntry():1127:1127 -> l
-    1:6:int previousEntry():1136:1136 -> m
+    1:14:void ensureIndexKnown():1099:1112 -> l
+    1:6:int nextEntry():1127:1127 -> m
+    1:6:int previousEntry():1136:1136 -> n
     1:2:int nextIndex():1117:1118 -> nextIndex
     1:2:int previousIndex():1122:1123 -> previousIndex
     1:47:void remove():1145:1191 -> remove
@@ -47133,7 +47200,7 @@
     2:2:void add(java.lang.Integer):1565:1565 -> add
     2:2:void add(java.lang.Object):1544 -> add
     1:1:int previousInt():1547:1547 -> e
-    1:1:int nextInt():1584:1584 -> i
+    1:1:int nextInt():1584:1584 -> j
     1:1:java.lang.Integer next():1590:1590 -> next
     1:1:java.lang.Object next():1544 -> next
     1:1:java.lang.Integer previous():1553:1553 -> previous
@@ -47270,7 +47337,7 @@
     1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):541:564 -> <init>
     25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1):541:541 -> <init>
     1:1:boolean hasNext():572:572 -> hasNext
-    1:19:int nextEntry():576:576 -> k
+    1:19:int nextEntry():576:576 -> l
     1:5:void remove():630:634 -> remove
     6:11:void shiftKeys(int):608:613 -> remove
     6:11:void remove():634 -> remove
@@ -47282,7 +47349,7 @@
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$ValueIterator -> com.android.tools.r8.t.a.a.a.h.Z0$g:
     com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> g
     1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):830:831 -> <init>
-    1:1:int nextInt():836:836 -> i
+    1:1:int nextInt():836:836 -> j
     1:1:java.lang.Integer next():842:842 -> next
     1:1:java.lang.Object next():829 -> next
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.t.a.a.a.h.a1:
@@ -47410,7 +47477,7 @@
     1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):541:564 -> <init>
     25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1):541:541 -> <init>
     1:1:boolean hasNext():572:572 -> hasNext
-    1:19:int nextEntry():576:576 -> k
+    1:19:int nextEntry():576:576 -> l
     1:5:void remove():630:634 -> remove
     6:11:void shiftKeys(int):608:613 -> remove
     6:11:void remove():634 -> remove
@@ -47602,14 +47669,14 @@
     1:1:boolean remove(java.lang.Object):47:47 -> remove
 com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet -> com.android.tools.r8.t.a.a.a.h.u1:
 com.android.tools.r8.jar.CfApplicationWriter -> com.android.tools.r8.u.b:
-    com.android.tools.r8.graph.DexApplication application -> a
-    com.android.tools.r8.graph.AppView appView -> b
-    com.android.tools.r8.graph.GraphLense graphLense -> c
-    com.android.tools.r8.utils.InternalOptions options -> e
-    com.android.tools.r8.naming.NamingLens namingLens -> d
-    com.android.tools.r8.naming.ProguardMapSupplier proguardMapSupplier -> g
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.dex.Marker marker -> f
+    com.android.tools.r8.graph.DexApplication application -> b
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.graph.GraphLense graphLense -> d
+    com.android.tools.r8.dex.Marker marker -> g
+    com.android.tools.r8.utils.InternalOptions options -> f
+    com.android.tools.r8.naming.NamingLens namingLens -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.naming.ProguardMapSupplier proguardMapSupplier -> h
     1:1:void <clinit>():63:63 -> <clinit>
     1:9:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.dex.Marker,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.naming.ProguardMapSupplier):87:95 -> <init>
     1:1:int com.android.tools.r8.graph.ParameterAnnotationsList.getAnnotableParameterCount():66:66 -> a
@@ -47621,7 +47688,7 @@
     12:12:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):386:386 -> a
     13:17:void write(com.android.tools.r8.ClassFileConsumer):99:103 -> a
     18:18:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,java.util.Optional):151:151 -> a
-    19:19:void com.android.tools.r8.org.objectweb.asm.ClassWriter.<init>(int):209:209 -> a
+    19:19:void com.android.tools.r8.org.objectweb.asm.ClassWriter.<init>(int):229:229 -> a
     19:19:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,java.util.Optional):151 -> a
     20:24:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,java.util.Optional):152:156 -> a
     25:31:java.lang.String getSourceDebugExtension(com.android.tools.r8.graph.DexAnnotationSet):272:278 -> a
@@ -47637,7 +47704,7 @@
     108:112:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,java.util.Optional):217 -> a
     113:113:void lambda$writeClass$0(com.android.tools.r8.ClassFileConsumer,byte[],java.lang.String,com.android.tools.r8.DiagnosticsHandler):218:218 -> a
     114:117:int getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):222:225 -> a
-    118:118:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> a
+    118:118:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> a
     118:118:int getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):226 -> a
     119:119:int getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):226:226 -> a
     120:127:int getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):225:232 -> a
@@ -47673,17 +47740,17 @@
     294:297:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):425:428 -> a
     298:302:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):427:431 -> a
     1:7:void writeApplication(com.android.tools.r8.ClassFileConsumer):108:114 -> b
-    8:8:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():362:362 -> b
+    8:8:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():358:358 -> b
     8:8:void writeApplication(com.android.tools.r8.ClassFileConsumer):115 -> b
     9:36:void writeApplication(com.android.tools.r8.ClassFileConsumer):115:142 -> b
     37:49:void writeApplication(com.android.tools.r8.ClassFileConsumer):118:130 -> b
-    50:50:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> b
+    50:50:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> b
     50:50:void writeApplication(com.android.tools.r8.ClassFileConsumer):134 -> b
     51:53:void writeApplication(com.android.tools.r8.ClassFileConsumer):136:138 -> b
     54:58:void writeApplication(com.android.tools.r8.ClassFileConsumer):135:139 -> b
     59:59:void writeApplication(com.android.tools.r8.ClassFileConsumer):132:132 -> b
     60:61:void writeApplication(com.android.tools.r8.ClassFileConsumer):120:121 -> b
-    62:62:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> b
+    62:62:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> b
     62:62:void writeApplication(com.android.tools.r8.ClassFileConsumer):125 -> b
     63:64:void writeApplication(com.android.tools.r8.ClassFileConsumer):126:127 -> b
     65:87:void writeApplication(com.android.tools.r8.ClassFileConsumer):123:145 -> b
@@ -47732,9 +47799,9 @@
     1:1:java.lang.Object getSecond():28:28 -> d
     1:1:java.lang.String toString():34:34 -> toString
 com.android.tools.r8.jetbrains.kotlin.SafePublicationLazyImpl -> com.android.tools.r8.v.a.i:
-    java.util.concurrent.atomic.AtomicReferenceFieldUpdater valueUpdater -> c
-    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 initializer -> a
-    java.lang.Object _value -> b
+    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 initializer -> b
+    java.util.concurrent.atomic.AtomicReferenceFieldUpdater valueUpdater -> a
+    java.lang.Object _value -> c
     1:1:void <clinit>():124:124 -> <clinit>
     1:3:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):90:92 -> <init>
     1:17:java.lang.Object getValue():98:114 -> getValue
@@ -47819,7 +47886,7 @@
     1:1:boolean hasNext():74:74 -> hasNext
     2:2:int com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection.size():13:13 -> hasNext
     2:2:boolean hasNext():74 -> hasNext
-    1:1:int getIndex():72:72 -> k
+    1:1:int getIndex():72:72 -> l
     1:3:java.lang.Object next():77:77 -> next
 com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$ListIteratorImpl -> com.android.tools.r8.v.a.q.d$b:
     com.android.tools.r8.jetbrains.kotlin.collections.AbstractList this$0 -> c
@@ -48106,9 +48173,9 @@
     1:1:void <init>(int):10:10 -> <init>
     1:1:java.lang.String toString():11:11 -> toString
 com.android.tools.r8.jetbrains.kotlin.jvm.internal.PropertyReference -> com.android.tools.r8.v.a.s.c.h:
-    com.android.tools.r8.jetbrains.kotlin.reflect.KCallable com.android.tools.r8.jetbrains.kotlin.jvm.internal.CallableReference.reflected -> a
-    java.lang.Object com.android.tools.r8.jetbrains.kotlin.jvm.internal.CallableReference.receiver -> b
-    java.lang.Object com.android.tools.r8.jetbrains.kotlin.jvm.internal.CallableReference.NO_RECEIVER -> c
+    com.android.tools.r8.jetbrains.kotlin.reflect.KCallable com.android.tools.r8.jetbrains.kotlin.jvm.internal.CallableReference.reflected -> b
+    java.lang.Object com.android.tools.r8.jetbrains.kotlin.jvm.internal.CallableReference.receiver -> c
+    java.lang.Object com.android.tools.r8.jetbrains.kotlin.jvm.internal.CallableReference.NO_RECEIVER -> a
     1:1:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.CallableReference.<clinit>():36:36 -> <clinit>
     1:1:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.CallableReference.<init>():48:48 -> <init>
     1:1:void <init>():14 -> <init>
@@ -48202,10 +48269,10 @@
 com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory -> com.android.tools.r8.v.a.s.c.j:
     1:1:void <init>():11:11 -> <init>
 com.android.tools.r8.jetbrains.kotlin.ranges.IntProgression -> com.android.tools.r8.v.a.t.b:
-    com.android.tools.r8.jetbrains.kotlin.ranges.IntProgression$Companion Companion -> d
-    int last -> b
-    int step -> c
-    int first -> a
+    int step -> d
+    int first -> b
+    int last -> c
+    com.android.tools.r8.jetbrains.kotlin.ranges.IntProgression$Companion Companion -> a
     1:25:void <init>(int,int,int):73:97 -> <init>
     26:26:void <init>(int,int,int):81:81 -> <init>
     27:27:void <init>(int,int,int):80:80 -> <init>
@@ -48303,18 +48370,18 @@
     int nextState -> a
     1:4:void <init>(com.android.tools.r8.jetbrains.kotlin.text.DelimitedRangesSequence):1079:1082 -> <init>
     1:3:boolean hasNext():1123:1125 -> hasNext
-    1:15:void calcNext():1087:1101 -> k
-    16:16:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt___RangesKt.until(int,int):705:705 -> k
-    16:16:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt.until(int,int):0 -> k
-    16:16:void calcNext():1101 -> k
-    17:17:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.IntRange$Companion.getEMPTY():58:58 -> k
-    17:17:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt___RangesKt.until(int,int):705 -> k
-    17:17:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt.until(int,int):0 -> k
-    17:17:void calcNext():1101 -> k
-    18:18:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt___RangesKt.until(int,int):706:706 -> k
-    18:18:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt.until(int,int):0 -> k
-    18:18:void calcNext():1101 -> k
-    19:24:void calcNext():1101:1106 -> k
+    1:15:void calcNext():1087:1101 -> l
+    16:16:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt___RangesKt.until(int,int):705:705 -> l
+    16:16:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt.until(int,int):0 -> l
+    16:16:void calcNext():1101 -> l
+    17:17:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.IntRange$Companion.getEMPTY():58:58 -> l
+    17:17:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt___RangesKt.until(int,int):705 -> l
+    17:17:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt.until(int,int):0 -> l
+    17:17:void calcNext():1101 -> l
+    18:18:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt___RangesKt.until(int,int):706:706 -> l
+    18:18:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange com.android.tools.r8.jetbrains.kotlin.ranges.RangesKt.until(int,int):0 -> l
+    18:18:void calcNext():1101 -> l
+    19:24:void calcNext():1101:1106 -> l
     1:8:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange next():1111:1118 -> next
     1:8:java.lang.Object next():1079 -> next
     9:9:com.android.tools.r8.jetbrains.kotlin.ranges.IntRange next():1115:1115 -> next
@@ -48793,6 +48860,7 @@
     1:1:java.util.List getSealedSubclasses():94:94 -> m
     1:1:java.util.List getSupertypes():54:54 -> n
     1:1:java.util.List getTypeParameters():49:49 -> o
+    1:1:java.util.List getVersionRequirements():99:99 -> p
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor -> com.android.tools.r8.v.b.a.w:
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor -> com.android.tools.r8.v.b.a.x:
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):57:57 -> <init>
@@ -48847,6 +48915,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():266:266 -> b
     1:1:int getFlags():248:248 -> c
     1:1:java.util.List getValueParameters():252:252 -> d
+    1:1:java.util.List getVersionRequirements():257:257 -> e
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor -> com.android.tools.r8.v.b.a.B:
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor -> com.android.tools.r8.v.b.a.C:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor delegate -> a
@@ -48991,6 +49060,7 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getReturnType():312:312 -> g
     1:1:java.util.List getTypeParameters():297:297 -> h
     1:1:java.util.List getValueParameters():307:307 -> i
+    1:1:java.util.List getVersionRequirements():317:317 -> j
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor -> com.android.tools.r8.v.b.a.S:
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor -> com.android.tools.r8.v.b.a.T:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor delegate -> a
@@ -49096,6 +49166,7 @@
     1:1:int getSetterFlags():379:379 -> h
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter getSetterParameter():394:394 -> i
     1:1:java.util.List getTypeParameters():384:384 -> j
+    1:1:java.util.List getVersionRequirements():404:404 -> k
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor -> com.android.tools.r8.v.b.a.a0:
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor -> com.android.tools.r8.v.b.a.b0:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor delegate -> a
@@ -49169,6 +49240,7 @@
     1:1:int getFlags():450:450 -> d
     1:1:java.lang.String getName():451:451 -> e
     1:1:java.util.List getTypeParameters():456:456 -> f
+    1:1:java.util.List getVersionRequirements():477:477 -> g
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor -> com.android.tools.r8.v.b.a.e0:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor delegate -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):386:386 -> <init>
@@ -49177,8 +49249,8 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):414:414 -> a
     3:3:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):422:422 -> a
     4:4:void visitEnd():435:435 -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement() -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):405:405 -> b
+    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():429:429 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor -> com.android.tools.r8.v.b.a.f0:
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter -> com.android.tools.r8.v.b.a.g0:
     java.util.List upperBounds -> b
@@ -49210,9 +49282,9 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUpperBound(int):482:482 -> a
     2:2:void visitEnd():496:496 -> a
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection -> com.android.tools.r8.v.b.a.j0:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType type -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection STAR -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection STAR -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType type -> c
     1:1:void <clinit>():936:936 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):929:929 -> <init>
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance component1() -> a
@@ -49279,6 +49351,8 @@
     6:8:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):746:748 -> a
     9:9:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):747:747 -> a
     10:10:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):746:746 -> a
+    1:1:java.lang.Integer getErrorCode():717:717 -> b
+    1:1:java.lang.String getMessage():722:722 -> c
 com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel -> com.android.tools.r8.v.b.a.q0:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel HIDDEN -> c
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel ERROR -> b
@@ -50277,14 +50351,14 @@
     1:2:java.lang.Object invoke():61 -> a
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1 -> com.android.tools.r8.v.b.a.u0.a.a:
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation -> com.android.tools.r8.v.b.a.u0.a.k:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    java.util.List argument_ -> d
-    int memoizedSerializedSize -> f
-    int bitField0_ -> b
-    int id_ -> c
-    byte memoizedIsInitialized -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation defaultInstance -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation defaultInstance -> a
+    java.util.List argument_ -> f
+    int memoizedSerializedSize -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int bitField0_ -> d
+    int id_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    byte memoizedIsInitialized -> g
     1:2652:void <clinit>():1956:4607 -> <clinit>
     2653:2654:void initFields():4210:4211 -> <clinit>
     2653:2654:void <clinit>():4608 -> <clinit>
@@ -50340,14 +50414,14 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1962:1962 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1957 -> a
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument -> com.android.tools.r8.v.b.a.u0.a.i:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument defaultInstance -> g
-    int memoizedSerializedSize -> f
-    int bitField0_ -> b
-    int nameId_ -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value value_ -> d
-    byte memoizedIsInitialized -> e
+    int memoizedSerializedSize -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int bitField0_ -> d
+    int nameId_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument defaultInstance -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value value_ -> f
+    byte memoizedIsInitialized -> g
     1:2073:void <clinit>():2079:4151 -> <clinit>
     2074:2075:void initFields():3823:3824 -> <clinit>
     2074:2075:void <clinit>():4152 -> <clinit>
@@ -50439,23 +50513,23 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder access$3600():3949 -> f
     1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument buildPartial():3992:4003 -> g
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value -> com.android.tools.r8.v.b.a.u0.a.h:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value defaultInstance -> p
-    int memoizedSerializedSize -> o
-    int arrayDimensionCount_ -> l
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    int flags_ -> m
-    int classId_ -> h
-    float floatValue_ -> e
-    int enumValueId_ -> i
-    int stringValue_ -> g
-    long intValue_ -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation annotation_ -> j
-    int bitField0_ -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type type_ -> c
-    byte memoizedIsInitialized -> n
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> q
-    double doubleValue_ -> f
-    java.util.List arrayElement_ -> k
+    int arrayDimensionCount_ -> n
+    int flags_ -> o
+    long intValue_ -> f
+    int classId_ -> j
+    float floatValue_ -> g
+    int enumValueId_ -> k
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation annotation_ -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int stringValue_ -> i
+    int bitField0_ -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value defaultInstance -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type type_ -> e
+    byte memoizedIsInitialized -> p
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    java.util.List arrayElement_ -> m
+    double doubleValue_ -> h
+    int memoizedSerializedSize -> q
     1:1388:void <clinit>():2398:3785 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):2257:2257 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):2257:2257 -> <init>
@@ -50630,21 +50704,21 @@
     1:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value buildPartial():3066:3114 -> h
     1:3:void ensureArrayElementIsMutable():3530:3532 -> i
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type -> com.android.tools.r8.v.b.a.u0.a.g:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type[] $VALUES -> o
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type BYTE -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type CHAR -> c
-    int value -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type SHORT -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type INT -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type LONG -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type FLOAT -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type DOUBLE -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type BOOLEAN -> i
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type STRING -> j
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type CLASS -> k
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ENUM -> l
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ANNOTATION -> m
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ARRAY -> n
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type[] $VALUES -> n
+    int value -> o
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type BYTE -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type CHAR -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type SHORT -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type INT -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type LONG -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type FLOAT -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type DOUBLE -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type BOOLEAN -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type STRING -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type CLASS -> j
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ENUM -> k
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ANNOTATION -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ARRAY -> m
     1:49:void <clinit>():2421:2469 -> <clinit>
     50:50:void <clinit>():2416:2416 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):2561:2562 -> <init>
@@ -50701,31 +50775,31 @@
     1:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation buildPartial():4377:4389 -> h
     1:3:void ensureArgumentIsMutable():4481:4483 -> i
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class -> com.android.tools.r8.v.b.a.u0.a.o:
-    java.util.List sealedSubclassFqName_ -> r
-    int nestedClassNameMemoizedSerializedSize -> l
-    java.util.List typeAlias_ -> p
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class defaultInstance -> y
-    int supertypeIdMemoizedSerializedSize -> j
-    int companionObjectName_ -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> t
-    int flags_ -> d
-    java.util.List supertype_ -> h
-    java.util.List function_ -> n
-    int sealedSubclassFqNameMemoizedSerializedSize -> s
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> v
-    byte memoizedIsInitialized -> w
-    java.util.List enumEntry_ -> q
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
-    java.util.List property_ -> o
-    java.util.List versionRequirement_ -> u
-    int fqName_ -> e
-    int bitField0_ -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> z
-    int memoizedSerializedSize -> x
-    java.util.List supertypeId_ -> i
-    java.util.List typeParameter_ -> g
-    java.util.List constructor_ -> m
-    java.util.List nestedClassName_ -> k
+    int nestedClassNameMemoizedSerializedSize -> n
+    java.util.List typeAlias_ -> r
+    byte memoizedIsInitialized -> y
+    int supertypeIdMemoizedSerializedSize -> l
+    java.util.List function_ -> p
+    int companionObjectName_ -> h
+    java.util.List sealedSubclassFqName_ -> t
+    int flags_ -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class defaultInstance -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> v
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> x
+    java.util.List supertype_ -> j
+    int sealedSubclassFqNameMemoizedSerializedSize -> u
+    java.util.List property_ -> q
+    java.util.List constructor_ -> o
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> c
+    java.util.List enumEntry_ -> s
+    int fqName_ -> g
+    int bitField0_ -> e
+    java.util.List versionRequirement_ -> w
+    int memoizedSerializedSize -> z
+    java.util.List typeParameter_ -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> d
+    java.util.List nestedClassName_ -> m
+    java.util.List supertypeId_ -> k
     1:2708:void <clinit>():8777:11484 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):8497:8497 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):8497:8497 -> <init>
@@ -51010,30 +51084,30 @@
     1:3:void ensureTypeParameterIsMutable():10195:10197 -> q
     1:3:void ensureVersionRequirementIsMutable():11327:11329 -> r
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind -> com.android.tools.r8.v.b.a.u0.a.n:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind CLASS -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ENUM_CLASS -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind INTERFACE -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ANNOTATION_CLASS -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ENUM_ENTRY -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind COMPANION_OBJECT -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind OBJECT -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind[] $VALUES -> i
-    int value -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind INTERFACE -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind CLASS -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ENUM_ENTRY -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ENUM_CLASS -> c
+    int value -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind OBJECT -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind[] $VALUES -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ANNOTATION_CLASS -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind COMPANION_OBJECT -> g
     1:25:void <clinit>():8804:8828 -> <clinit>
     26:26:void <clinit>():8795:8795 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):8894:8895 -> <init>
     1:1:int getNumber():8865:8865 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind[] values():8795:8795 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor -> com.android.tools.r8.v.b.a.u0.a.r:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
-    java.util.List versionRequirement_ -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor defaultInstance -> i
-    java.util.List valueParameter_ -> e
-    int memoizedSerializedSize -> h
-    int flags_ -> d
-    int bitField0_ -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> j
-    byte memoizedIsInitialized -> g
+    byte memoizedIsInitialized -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> c
+    int memoizedSerializedSize -> j
+    int flags_ -> f
+    java.util.List versionRequirement_ -> h
+    int bitField0_ -> e
+    java.util.List valueParameter_ -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor defaultInstance -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> d
     1:664:void <clinit>():13473:14136 -> <clinit>
     665:667:void initFields():13586:13588 -> <clinit>
     665:667:void <clinit>():14137 -> <clinit>
@@ -51128,12 +51202,12 @@
     1:3:void ensureValueParameterIsMutable():13916:13918 -> i
     1:3:void ensureVersionRequirementIsMutable():14040:14042 -> j
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract -> com.android.tools.r8.v.b.a.u0.a.u:
-    java.util.List effect_ -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract defaultInstance -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    int memoizedSerializedSize -> d
-    byte memoizedIsInitialized -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract defaultInstance -> a
+    java.util.List effect_ -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int memoizedSerializedSize -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    byte memoizedIsInitialized -> e
     1:390:void <clinit>():23388:23777 -> <clinit>
     391:391:void initFields():23439:23439 -> <clinit>
     391:391:void <clinit>():23778 -> <clinit>
@@ -51216,16 +51290,16 @@
     1:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract buildPartial():23592:23598 -> g
     1:3:void ensureEffectIsMutable():23651:23653 -> h
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect -> com.android.tools.r8.v.b.a.u0.a.z:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType effectType_ -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    java.util.List effectConstructorArgument_ -> d
-    int memoizedSerializedSize -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect defaultInstance -> i
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression conclusionOfConditionalEffect_ -> e
-    int bitField0_ -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind kind_ -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> j
-    byte memoizedIsInitialized -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect defaultInstance -> a
+    byte memoizedIsInitialized -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType effectType_ -> e
+    java.util.List effectConstructorArgument_ -> f
+    int memoizedSerializedSize -> j
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression conclusionOfConditionalEffect_ -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind kind_ -> h
+    int bitField0_ -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
     1:835:void <clinit>():23955:24789 -> <clinit>
     836:839:void initFields():24226:24229 -> <clinit>
     836:839:void <clinit>():24790 -> <clinit>
@@ -51329,11 +51403,11 @@
     1:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect buildPartial():24415:24435 -> g
     1:3:void ensureEffectConstructorArgumentIsMutable():24538:24540 -> h
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType -> com.android.tools.r8.v.b.a.u0.a.x:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType CALLS -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType RETURNS_NOT_NULL -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType[] $VALUES -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType RETURNS_CONSTANT -> b
-    int value -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType RETURNS_NOT_NULL -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType[] $VALUES -> d
+    int value -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType RETURNS_CONSTANT -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType CALLS -> b
     1:18:void <clinit>():23990:24007 -> <clinit>
     19:19:void <clinit>():23981:23981 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):24062:24063 -> <init>
@@ -51342,11 +51416,11 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24042:24042 -> b
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24041:24041 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind -> com.android.tools.r8.v.b.a.u0.a.y:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind AT_MOST_ONCE -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind EXACTLY_ONCE -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind[] $VALUES -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind AT_LEAST_ONCE -> d
-    int value -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind AT_MOST_ONCE -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind EXACTLY_ONCE -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind AT_LEAST_ONCE -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind[] $VALUES -> d
+    int value -> e
     1:9:void <clinit>():24077:24085 -> <clinit>
     10:10:void <clinit>():24072:24072 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):24127:24128 -> <init>
@@ -51355,13 +51429,13 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24107:24107 -> b
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24106:24106 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry -> com.android.tools.r8.v.b.a.u0.a.C:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry defaultInstance -> g
-    int memoizedSerializedSize -> f
-    int name_ -> d
-    int bitField0_ -> c
-    byte memoizedIsInitialized -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry defaultInstance -> b
+    int memoizedSerializedSize -> h
+    int name_ -> f
+    int bitField0_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> d
+    byte memoizedIsInitialized -> g
     1:273:void <clinit>():20528:20800 -> <clinit>
     274:274:void initFields():20560:20560 -> <clinit>
     274:274:void <clinit>():20801 -> <clinit>
@@ -51433,19 +51507,19 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder access$19200():20675 -> g
     1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry buildPartial():20715:20722 -> h
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression -> com.android.tools.r8.v.b.a.u0.a.G:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    int memoizedSerializedSize -> k
-    int isInstanceTypeId_ -> g
-    int valueParameterReference_ -> d
-    int bitField0_ -> b
-    int flags_ -> c
-    byte memoizedIsInitialized -> j
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue constantValue_ -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type isInstanceType_ -> f
-    java.util.List orArgument_ -> i
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> m
-    java.util.List andArgument_ -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression defaultInstance -> l
+    int memoizedSerializedSize -> m
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int isInstanceTypeId_ -> i
+    int valueParameterReference_ -> f
+    int bitField0_ -> d
+    int flags_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue constantValue_ -> g
+    byte memoizedIsInitialized -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression defaultInstance -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type isInstanceType_ -> h
+    java.util.List andArgument_ -> j
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    java.util.List orArgument_ -> k
     1:1328:void <clinit>():25074:26401 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):24947:24947 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):24947:24947 -> <init>
@@ -51582,11 +51656,11 @@
     1:3:void ensureAndArgumentIsMutable():26005:26007 -> i
     1:3:void ensureOrArgumentIsMutable():26202:26204 -> j
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue -> com.android.tools.r8.v.b.a.u0.a.F:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue NULL -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue TRUE -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue[] $VALUES -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue FALSE -> c
-    int value -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue FALSE -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue NULL -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue[] $VALUES -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue TRUE -> a
+    int value -> e
     1:9:void <clinit>():25097:25105 -> <clinit>
     10:10:void <clinit>():25092:25092 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):25147:25148 -> <init>
@@ -51595,24 +51669,24 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25127:25127 -> b
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25126:25126 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function -> com.android.tools.r8.v.b.a.u0.a.J:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function defaultInstance -> r
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
-    int receiverTypeId_ -> k
-    int returnTypeId_ -> h
-    int name_ -> f
-    int flags_ -> d
-    int oldFlags_ -> e
-    int bitField0_ -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> s
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type receiverType_ -> j
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType_ -> g
-    byte memoizedIsInitialized -> p
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> m
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract contract_ -> o
-    java.util.List typeParameter_ -> i
-    java.util.List versionRequirement_ -> n
-    java.util.List valueParameter_ -> l
-    int memoizedSerializedSize -> q
+    java.util.List versionRequirement_ -> p
+    int receiverTypeId_ -> m
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> c
+    int returnTypeId_ -> j
+    int name_ -> h
+    int flags_ -> f
+    int oldFlags_ -> g
+    int bitField0_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function defaultInstance -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type receiverType_ -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType_ -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> o
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract contract_ -> q
+    byte memoizedIsInitialized -> r
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> d
+    java.util.List valueParameter_ -> n
+    int memoizedSerializedSize -> s
+    java.util.List typeParameter_ -> k
     1:1590:void <clinit>():14502:16091 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):14313:14313 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):14313:14313 -> <init>
@@ -51836,41 +51910,41 @@
     1:3:void ensureValueParameterIsMutable():15750:15752 -> k
     1:3:void ensureVersionRequirementIsMutable():15934:15936 -> l
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind -> com.android.tools.r8.v.b.a.u0.a.K:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind SYNTHESIZED -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind FAKE_OVERRIDE -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind DELEGATION -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind[] $VALUES -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind DECLARATION -> b
-    int value -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind DELEGATION -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind[] $VALUES -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind SYNTHESIZED -> d
+    int value -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind DECLARATION -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind FAKE_OVERRIDE -> b
     1:13:void <clinit>():205:217 -> <clinit>
     14:14:void <clinit>():196:196 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):268:269 -> <init>
     1:1:int getNumber():242:242 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind[] values():196:196 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality -> com.android.tools.r8.v.b.a.u0.a.L:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality ABSTRACT -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality SEALED -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality FINAL -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality[] $VALUES -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality OPEN -> c
-    int value -> a
+    int value -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality FINAL -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality SEALED -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality[] $VALUES -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality OPEN -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality ABSTRACT -> c
     1:13:void <clinit>():23:35 -> <clinit>
     14:14:void <clinit>() -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):86:87 -> <init>
     1:1:int getNumber():60:60 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality[] values():14:14 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package -> com.android.tools.r8.v.b.a.u0.a.O:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> h
-    byte memoizedIsInitialized -> i
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package defaultInstance -> k
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
-    java.util.List typeAlias_ -> f
-    int memoizedSerializedSize -> j
-    java.util.List property_ -> e
-    java.util.List function_ -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> l
-    int bitField0_ -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> g
+    int memoizedSerializedSize -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> j
+    byte memoizedIsInitialized -> k
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> c
+    java.util.List function_ -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package defaultInstance -> b
+    java.util.List typeAlias_ -> h
+    int bitField0_ -> e
+    java.util.List property_ -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> d
     1:997:void <clinit>():11683:12679 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):11558:11558 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):11558:11558 -> <init>
@@ -52005,24 +52079,24 @@
     1:3:void ensurePropertyIsMutable():12307:12309 -> k
     1:3:void ensureTypeAliasIsMutable():12432:12434 -> l
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property -> com.android.tools.r8.v.b.a.u0.a.S:
-    int setterFlags_ -> n
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter setterValueParameter_ -> l
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
-    int getterFlags_ -> m
-    java.util.List versionRequirement_ -> o
-    int receiverTypeId_ -> k
-    int returnTypeId_ -> h
-    int name_ -> f
-    int flags_ -> d
-    int oldFlags_ -> e
-    int bitField0_ -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property defaultInstance -> r
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> s
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type receiverType_ -> j
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType_ -> g
-    byte memoizedIsInitialized -> p
-    java.util.List typeParameter_ -> i
-    int memoizedSerializedSize -> q
+    int getterFlags_ -> o
+    java.util.List versionRequirement_ -> q
+    int receiverTypeId_ -> m
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> c
+    int returnTypeId_ -> j
+    int name_ -> h
+    int flags_ -> f
+    int oldFlags_ -> g
+    int bitField0_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type receiverType_ -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType_ -> i
+    byte memoizedIsInitialized -> r
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> d
+    int memoizedSerializedSize -> s
+    int setterFlags_ -> p
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property defaultInstance -> b
+    java.util.List typeParameter_ -> k
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter setterValueParameter_ -> n
     1:1501:void <clinit>():16465:17965 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):16290:16290 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):16290:16290 -> <init>
@@ -52230,26 +52304,26 @@
     1:3:void ensureTypeParameterIsMutable():17480:17482 -> j
     1:3:void ensureVersionRequirementIsMutable():17868:17870 -> k
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type -> com.android.tools.r8.v.b.a.u0.a.Z:
-    int outerTypeId_ -> n
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
-    int typeAliasName_ -> l
-    int typeParameter_ -> j
-    int typeParameterName_ -> k
-    int flexibleUpperBoundId_ -> h
-    int className_ -> i
-    int flexibleTypeCapabilitiesId_ -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type defaultInstance -> t
-    int bitField0_ -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type abbreviatedType_ -> o
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type outerType_ -> m
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> u
-    java.util.List argument_ -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type flexibleUpperBound_ -> g
-    boolean nullable_ -> e
-    byte memoizedIsInitialized -> r
-    int memoizedSerializedSize -> s
-    int abbreviatedTypeId_ -> p
-    int flags_ -> q
+    int typeAliasName_ -> n
+    int typeParameter_ -> l
+    int typeParameterName_ -> m
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> c
+    int flexibleUpperBoundId_ -> j
+    int className_ -> k
+    int flexibleTypeCapabilitiesId_ -> h
+    int bitField0_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type abbreviatedType_ -> q
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type outerType_ -> o
+    java.util.List argument_ -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type flexibleUpperBound_ -> i
+    boolean nullable_ -> g
+    byte memoizedIsInitialized -> t
+    int memoizedSerializedSize -> u
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> d
+    int abbreviatedTypeId_ -> r
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type defaultInstance -> b
+    int flags_ -> s
+    int outerTypeId_ -> p
     1:2203:void <clinit>():4971:7173 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):4805:4805 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):4805:4805 -> <init>
@@ -52365,15 +52439,15 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4977:4977 -> a
     1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4972 -> a
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument -> com.android.tools.r8.v.b.a.u0.a.X:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument defaultInstance -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection projection_ -> c
-    int memoizedSerializedSize -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> d
-    int typeId_ -> e
-    int bitField0_ -> b
-    byte memoizedIsInitialized -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection projection_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int memoizedSerializedSize -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument defaultInstance -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> f
+    int typeId_ -> g
+    int bitField0_ -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    byte memoizedIsInitialized -> h
     1:537:void <clinit>():5123:5659 -> <clinit>
     538:540:void initFields():5267:5269 -> <clinit>
     538:540:void <clinit>():5660 -> <clinit>
@@ -52467,12 +52541,12 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder access$5000():5395 -> f
     1:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument buildPartial():5440:5455 -> g
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection -> com.android.tools.r8.v.b.a.u0.a.W:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection STAR -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection IN -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection OUT -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection INV -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection[] $VALUES -> f
-    int value -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection IN -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection OUT -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection INV -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection STAR -> d
+    int value -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection[] $VALUES -> e
     1:13:void <clinit>():5146:5158 -> <clinit>
     14:14:void <clinit>():5141:5141 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):5205:5206 -> <init>
@@ -52602,21 +52676,21 @@
     1:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type buildPartial():6259:6319 -> i
     1:3:void ensureArgumentIsMutable():6434:6436 -> j
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias -> com.android.tools.r8.v.b.a.u0.a.c0:
-    int memoizedSerializedSize -> n
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
-    int expandedTypeId_ -> j
-    int underlyingTypeId_ -> h
-    int flags_ -> d
-    int name_ -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias defaultInstance -> o
-    int bitField0_ -> c
-    java.util.List typeParameter_ -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type expandedType_ -> i
-    byte memoizedIsInitialized -> m
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type underlyingType_ -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> p
-    java.util.List versionRequirement_ -> l
-    java.util.List annotation_ -> k
+    int expandedTypeId_ -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> c
+    int underlyingTypeId_ -> j
+    int flags_ -> f
+    int name_ -> g
+    int bitField0_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type expandedType_ -> k
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type underlyingType_ -> i
+    byte memoizedIsInitialized -> o
+    java.util.List typeParameter_ -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> d
+    java.util.List versionRequirement_ -> n
+    java.util.List annotation_ -> m
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias defaultInstance -> b
+    int memoizedSerializedSize -> p
     1:1264:void <clinit>():19171:20434 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):19013:19013 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):19013:19013 -> <init>
@@ -52789,19 +52863,19 @@
     1:3:void ensureTypeParameterIsMutable():19904:19906 -> k
     1:3:void ensureVersionRequirementIsMutable():20337:20339 -> l
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter -> com.android.tools.r8.v.b.a.u0.a.g0:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
-    int memoizedSerializedSize -> l
-    int upperBoundIdMemoizedSerializedSize -> j
-    int id_ -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance variance_ -> g
-    int name_ -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter defaultInstance -> m
-    int bitField0_ -> c
-    byte memoizedIsInitialized -> k
-    boolean reified_ -> f
-    java.util.List upperBoundId_ -> i
-    java.util.List upperBound_ -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> n
+    int memoizedSerializedSize -> n
+    int upperBoundIdMemoizedSerializedSize -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> c
+    int id_ -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance variance_ -> i
+    int name_ -> g
+    int bitField0_ -> e
+    byte memoizedIsInitialized -> m
+    java.util.List upperBound_ -> j
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter defaultInstance -> b
+    boolean reified_ -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> d
+    java.util.List upperBoundId_ -> k
     1:875:void <clinit>():7378:8252 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):7250:7250 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):7250:7250 -> <init>
@@ -52926,11 +53000,11 @@
     1:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter buildPartial():7811:7840 -> i
     1:3:void ensureUpperBoundIsMutable():8059:8061 -> j
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance -> com.android.tools.r8.v.b.a.u0.a.f0:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance IN -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance[] $VALUES -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance OUT -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance INV -> d
-    int value -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance IN -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance OUT -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance[] $VALUES -> d
+    int value -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance INV -> c
     1:9:void <clinit>():7401:7409 -> <clinit>
     10:10:void <clinit>():7396:7396 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):7451:7452 -> <init>
@@ -52939,14 +53013,14 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7431:7431 -> b
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7430:7430 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable -> com.android.tools.r8.v.b.a.u0.a.j0:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    java.util.List type_ -> c
-    int memoizedSerializedSize -> f
-    int firstNullable_ -> d
-    int bitField0_ -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable defaultInstance -> g
-    byte memoizedIsInitialized -> e
+    java.util.List type_ -> e
+    int memoizedSerializedSize -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int firstNullable_ -> f
+    int bitField0_ -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable defaultInstance -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    byte memoizedIsInitialized -> g
     1:487:void <clinit>():12806:13292 -> <clinit>
     488:489:void initFields():12883:12884 -> <clinit>
     488:489:void <clinit>():13293 -> <clinit>
@@ -53030,18 +53104,18 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder access$11800():13003 -> f
     1:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable buildPartial():13046:13058 -> g
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter -> com.android.tools.r8.v.b.a.u0.a.m0:
-    byte memoizedIsInitialized -> j
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter defaultInstance -> l
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
-    int memoizedSerializedSize -> k
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type varargElementType_ -> h
-    int varargElementTypeId_ -> i
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> f
-    int typeId_ -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> m
-    int flags_ -> d
-    int name_ -> e
-    int bitField0_ -> c
+    byte memoizedIsInitialized -> l
+    int memoizedSerializedSize -> m
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type varargElementType_ -> j
+    int varargElementTypeId_ -> k
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> h
+    int typeId_ -> i
+    int flags_ -> f
+    int name_ -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter defaultInstance -> b
+    int bitField0_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> d
     1:724:void <clinit>():18159:18882 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):18047:18047 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):18047:18047 -> <init>
@@ -53184,18 +53258,18 @@
     4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter build():18495:18495 -> h
     1:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter buildPartial():18501:18528 -> i
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement -> com.android.tools.r8.v.b.a.u0.a.r0:
-    byte memoizedIsInitialized -> i
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level level_ -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    int memoizedSerializedSize -> j
-    int errorCode_ -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement defaultInstance -> k
-    int message_ -> g
-    int versionFull_ -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind versionKind_ -> h
-    int bitField0_ -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> l
-    int version_ -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level level_ -> g
+    int memoizedSerializedSize -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement defaultInstance -> a
+    byte memoizedIsInitialized -> k
+    int errorCode_ -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int message_ -> i
+    int versionFull_ -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind versionKind_ -> j
+    int bitField0_ -> d
+    int version_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
     1:885:void <clinit>():21033:21917 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):20924:20924 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):20924:20924 -> <init>
@@ -53306,11 +53380,11 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder access$19800():21472 -> f
     1:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement buildPartial():21523:21550 -> g
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level -> com.android.tools.r8.v.b.a.u0.a.p0:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level[] $VALUES -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level HIDDEN -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level ERROR -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level WARNING -> b
-    int value -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level[] $VALUES -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level HIDDEN -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level ERROR -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level WARNING -> a
+    int value -> e
     1:9:void <clinit>():21056:21064 -> <clinit>
     10:10:void <clinit>():21051:21051 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):21106:21107 -> <init>
@@ -53319,11 +53393,11 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21086:21086 -> b
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21085:21085 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind -> com.android.tools.r8.v.b.a.u0.a.q0:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind COMPILER_VERSION -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind LANGUAGE_VERSION -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind API_VERSION -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind[] $VALUES -> e
-    int value -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind API_VERSION -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind COMPILER_VERSION -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind LANGUAGE_VERSION -> a
+    int value -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind[] $VALUES -> d
     1:9:void <clinit>():21121:21129 -> <clinit>
     10:10:void <clinit>():21116:21116 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):21171:21172 -> <init>
@@ -53332,12 +53406,12 @@
     2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21151:21151 -> b
     3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21150:21150 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable -> com.android.tools.r8.v.b.a.u0.a.u0:
-    java.util.List requirement_ -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    int memoizedSerializedSize -> d
-    byte memoizedIsInitialized -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable defaultInstance -> e
+    java.util.List requirement_ -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable defaultInstance -> a
+    int memoizedSerializedSize -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    byte memoizedIsInitialized -> e
     1:378:void <clinit>():22020:22397 -> <clinit>
     379:379:void initFields():22071:22071 -> <clinit>
     379:379:void <clinit>():22398 -> <clinit>
@@ -53416,14 +53490,14 @@
     1:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable buildPartial():22218:22224 -> g
     1:3:void ensureRequirementIsMutable():22271:22273 -> h
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility -> com.android.tools.r8.v.b.a.u0.a.v0:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility LOCAL -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PRIVATE_TO_THIS -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PUBLIC -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PROTECTED -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PRIVATE -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility INTERNAL -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility[] $VALUES -> h
-    int value -> a
+    int value -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility LOCAL -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PRIVATE_TO_THIS -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PUBLIC -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PROTECTED -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PRIVATE -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility[] $VALUES -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility INTERNAL -> a
     1:21:void <clinit>():105:125 -> <clinit>
     22:22:void <clinit>():96:96 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):186:187 -> <init>
@@ -53522,12 +53596,12 @@
     35:35:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):22:22 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type get(int):34:34 -> a
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement -> com.android.tools.r8.v.b.a.u0.a.w0.l:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version version -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind kind -> b
-    java.lang.Integer errorCode -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion Companion -> f
-    com.android.tools.r8.jetbrains.kotlin.DeprecationLevel level -> c
-    java.lang.String message -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind kind -> c
+    java.lang.String message -> f
+    com.android.tools.r8.jetbrains.kotlin.DeprecationLevel level -> d
+    java.lang.Integer errorCode -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version version -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion Companion -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind,com.android.tools.r8.jetbrains.kotlin.DeprecationLevel,java.lang.Integer,java.lang.String):24:24 -> <init>
     1:1:java.lang.Integer getErrorCode():28:28 -> a
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind getKind():26:26 -> b
@@ -53539,11 +53613,11 @@
     1:1:void <init>():83:83 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):83:83 -> <init>
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version -> com.android.tools.r8.v.b.a.u0.a.w0.k:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version$Companion Companion -> e
-    int minor -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version INFINITY -> d
-    int patch -> c
-    int major -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version INFINITY -> a
+    int minor -> d
+    int patch -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version$Companion Companion -> b
+    int major -> c
     1:1:void <clinit>():54:54 -> <clinit>
     1:1:void <init>(int,int,int):31:31 -> <init>
     int component1() -> a
@@ -53557,9 +53631,9 @@
     1:1:void <init>():52:52 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):52:52 -> <init>
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable -> com.android.tools.r8.v.b.a.u0.a.w0.n:
-    java.util.List infos -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion Companion -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable EMPTY -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion Companion -> b
+    java.util.List infos -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable EMPTY -> a
     1:1:void <clinit>():15:15 -> <clinit>
     1:1:void <init>(java.util.List):11:11 -> <init>
     2:2:void <init>(java.util.List,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):11:11 -> <init>
@@ -53600,14 +53674,14 @@
     1:212:void <clinit>():3800:4011 -> <clinit>
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1 -> com.android.tools.r8.v.b.a.u0.a.x0.a:
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature -> com.android.tools.r8.v.b.a.u0.a.x0.d:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature defaultInstance -> g
-    int memoizedSerializedSize -> f
-    int desc_ -> d
-    int bitField0_ -> b
-    int name_ -> c
-    byte memoizedIsInitialized -> e
+    int memoizedSerializedSize -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int desc_ -> f
+    int bitField0_ -> d
+    int name_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature defaultInstance -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    byte memoizedIsInitialized -> g
     1:348:void <clinit>():2669:3016 -> <clinit>
     349:350:void initFields():2724:2725 -> <clinit>
     349:350:void <clinit>():3017 -> <clinit>
@@ -53689,14 +53763,14 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder access$2500():2838 -> f
     1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature buildPartial():2881:2892 -> g
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature -> com.android.tools.r8.v.b.a.u0.a.x0.g:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature defaultInstance -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    int memoizedSerializedSize -> f
-    int desc_ -> d
-    int bitField0_ -> b
-    int name_ -> c
-    byte memoizedIsInitialized -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature defaultInstance -> a
+    int memoizedSerializedSize -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int desc_ -> f
+    int bitField0_ -> d
+    int name_ -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    byte memoizedIsInitialized -> g
     1:348:void <clinit>():2207:2554 -> <clinit>
     349:350:void initFields():2262:2263 -> <clinit>
     349:350:void <clinit>():2555 -> <clinit>
@@ -53778,16 +53852,16 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder access$1800():2376 -> f
     1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature buildPartial():2419:2430 -> g
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature -> com.android.tools.r8.v.b.a.u0.a.x0.j:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getter_ -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature setter_ -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature defaultInstance -> i
-    int memoizedSerializedSize -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature syntheticMethod_ -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature field_ -> c
-    int bitField0_ -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> j
-    byte memoizedIsInitialized -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature syntheticMethod_ -> f
+    byte memoizedIsInitialized -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getter_ -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature setter_ -> h
+    int memoizedSerializedSize -> j
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature field_ -> e
+    int bitField0_ -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature defaultInstance -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
     1:596:void <clinit>():3191:3786 -> <clinit>
     597:600:void initFields():3276:3279 -> <clinit>
     597:600:void <clinit>():3787 -> <clinit>
@@ -53918,14 +53992,14 @@
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder access$3200():3406 -> f
     1:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature buildPartial():3453:3472 -> g
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes -> com.android.tools.r8.v.b.a.u0.a.x0.q:
-    java.util.List record_ -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes defaultInstance -> g
-    java.util.List localName_ -> c
-    int memoizedSerializedSize -> f
-    int localNameMemoizedSerializedSize -> d
-    byte memoizedIsInitialized -> e
+    java.util.List localName_ -> e
+    java.util.List record_ -> d
+    int memoizedSerializedSize -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int localNameMemoizedSerializedSize -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes defaultInstance -> a
+    byte memoizedIsInitialized -> g
     1:1923:void <clinit>():170:2092 -> <clinit>
     1924:1925:void initFields():1633:1634 -> <clinit>
     1924:1925:void <clinit>():2093 -> <clinit>
@@ -54004,20 +54078,20 @@
     1:3:void ensureLocalNameIsMutable():1996:1998 -> h
     1:3:void ensureRecordIsMutable():1872:1874 -> i
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record -> com.android.tools.r8.v.b.a.u0.a.x0.p:
-    int memoizedSerializedSize -> l
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> a
-    int replaceCharMemoizedSerializedSize -> j
-    int substringIndexMemoizedSerializedSize -> h
-    java.lang.Object string_ -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record defaultInstance -> m
-    int predefinedIndex_ -> d
-    int bitField0_ -> b
-    int range_ -> c
-    byte memoizedIsInitialized -> k
-    java.util.List replaceChar_ -> i
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> n
-    java.util.List substringIndex_ -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation operation_ -> f
+    int memoizedSerializedSize -> n
+    int replaceCharMemoizedSerializedSize -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record defaultInstance -> a
+    int substringIndexMemoizedSerializedSize -> j
+    java.lang.Object string_ -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> b
+    int predefinedIndex_ -> f
+    int bitField0_ -> d
+    int range_ -> e
+    byte memoizedIsInitialized -> m
+    java.util.List substringIndex_ -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation operation_ -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
+    java.util.List replaceChar_ -> k
     1:1088:void <clinit>():469:1556 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):328:328 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):328:328 -> <init>
@@ -54165,11 +54239,11 @@
     1:1:boolean hasOperation():1300:1300 -> k
     1:1:boolean hasPredefinedIndex():1152:1152 -> l
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation -> com.android.tools.r8.v.b.a.u0.a.x0.o:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation NONE -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation[] $VALUES -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation DESC_TO_CLASS_ID -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation INTERNAL_TO_CLASS_ID -> c
-    int value -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation INTERNAL_TO_CLASS_ID -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation NONE -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation[] $VALUES -> d
+    int value -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation DESC_TO_CLASS_ID -> c
     1:19:void <clinit>():492:510 -> <clinit>
     20:20:void <clinit>():487:487 -> <clinit>
     1:2:void <init>(java.lang.String,int,int,int):562:563 -> <init>
@@ -54294,8 +54368,8 @@
     3:3:int hashCode():0 -> hashCode
     4:4:int hashCode():0:0 -> hashCode
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMetadataVersion -> com.android.tools.r8.v.b.a.u0.a.x0.s.h:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMetadataVersion INSTANCE -> g
-    boolean isStrictSemantics -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMetadataVersion INSTANCE -> f
+    boolean isStrictSemantics -> g
     1:1:void <clinit>():30:30 -> <clinit>
     2:17:void <init>(int[]):0:15 -> <clinit>
     2:17:void <clinit>():30 -> <clinit>
@@ -54305,13 +54379,13 @@
     1:1:void <init>(int[],boolean):14:14 -> <init>
     1:6:boolean isCompatible():20:25 -> d
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver -> com.android.tools.r8.v.b.a.u0.a.x0.s.j:
-    java.util.List records -> b
-    java.util.List PREDEFINED_STRINGS -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes types -> c
-    java.lang.String[] strings -> d
-    java.util.Set localNameIndices -> a
-    java.util.Map PREDEFINED_STRINGS_MAP -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver$Companion Companion -> g
+    java.util.List PREDEFINED_STRINGS -> a
+    java.util.Map PREDEFINED_STRINGS_MAP -> b
+    java.util.Set localNameIndices -> d
+    java.util.List records -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver$Companion Companion -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes types -> f
+    java.lang.String[] strings -> g
     1:32:void <clinit>():78:78 -> <clinit>
     65:75:void <clinit>():111:111 -> <clinit>
     86:86:void <clinit>():122:122 -> <clinit>
@@ -54589,12 +54663,12 @@
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator -> com.android.tools.r8.v.b.a.u0.b.e:
     byte nextByte() -> c
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output -> com.android.tools.r8.v.b.a.u0.b.f:
-    int bufferPos -> e
-    byte[] buffer -> d
-    java.util.ArrayList flushedBuffers -> b
-    int flushedBuffersTotalBytes -> c
-    byte[] EMPTY_BYTE_ARRAY -> f
-    int initialCapacity -> a
+    byte[] EMPTY_BYTE_ARRAY -> a
+    int bufferPos -> f
+    int flushedBuffersTotalBytes -> d
+    int initialCapacity -> b
+    java.util.ArrayList flushedBuffers -> c
+    byte[] buffer -> e
     1:1:void <clinit>():765:765 -> <clinit>
     1:7:void <init>(int):783:789 -> <init>
     8:8:void <init>(int):785:785 -> <init>
@@ -54821,8 +54895,8 @@
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream$OutOfSpaceException -> com.android.tools.r8.v.b.a.u0.b.i:
     1:1:void <init>():1016:1016 -> <init>
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite -> com.android.tools.r8.v.b.a.u0.b.l:
-    java.util.Map extensionsByNumber -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite EMPTY -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite EMPTY -> a
+    java.util.Map extensionsByNumber -> b
     1:1:void <clinit>():159:159 -> <clinit>
     1:2:void <init>():137:138 -> <init>
     3:4:void <init>(boolean):156:157 -> <init>
@@ -54845,10 +54919,10 @@
     1:5:boolean equals(java.lang.Object):178:182 -> equals
     1:1:int hashCode():174:174 -> hashCode
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet -> com.android.tools.r8.v.b.a.u0.b.n:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet DEFAULT_INSTANCE -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap fields -> a
-    boolean isImmutable -> b
-    boolean hasLazyField -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap fields -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet DEFAULT_INSTANCE -> a
+    boolean isImmutable -> c
+    boolean hasLazyField -> d
     1:1:void <clinit>():102:102 -> <clinit>
     1:1:void <init>():76:76 -> <init>
     2:6:void <init>():73:77 -> <init>
@@ -55410,13 +55484,13 @@
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser -> com.android.tools.r8.v.b.a.u0.b.E:
     java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite) -> a
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString -> com.android.tools.r8.v.b.a.u0.b.J:
-    int[] minLengthByDepth -> i
-    int hash -> h
-    int leftLength -> f
-    int treeDepth -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString left -> d
-    int totalLength -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString right -> e
+    int[] minLengthByDepth -> c
+    int treeDepth -> h
+    int hash -> i
+    int leftLength -> g
+    int totalLength -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString right -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString left -> e
     1:22:void <clinit>():89:110 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1):70:70 -> <init>
     2:416:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):129:543 -> <init>
@@ -55490,17 +55564,17 @@
     3:8:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):718:723 -> <init>
     1:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString getLeafByLeft(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):728:733 -> a
     1:1:boolean hasNext():752:752 -> hasNext
-    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():761:761 -> k
-    2:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString getNextNonEmptyLeaf():740:743 -> k
-    2:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> k
-    6:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString getLeafByLeft(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):728:733 -> k
-    6:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString getNextNonEmptyLeaf():743 -> k
-    6:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> k
-    12:12:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.isEmpty():135:135 -> k
-    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString getNextNonEmptyLeaf():744 -> k
-    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> k
-    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765:765 -> k
-    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():762:762 -> k
+    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():761:761 -> l
+    2:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString getNextNonEmptyLeaf():740:743 -> l
+    2:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> l
+    6:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString getLeafByLeft(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):728:733 -> l
+    6:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString getNextNonEmptyLeaf():743 -> l
+    6:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> l
+    12:12:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.isEmpty():135:135 -> l
+    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString getNextNonEmptyLeaf():744 -> l
+    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> l
+    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765:765 -> l
+    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():762:762 -> l
     1:1:java.lang.Object next():716:716 -> next
     1:1:void remove():770:770 -> remove
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$RopeByteIterator -> com.android.tools.r8.v.b.a.u0.b.I:
@@ -55604,7 +55678,7 @@
     1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):532:534 -> <init>
     4:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1):532:532 -> <init>
     1:1:boolean hasNext():540:540 -> hasNext
-    1:4:java.util.Iterator getOverflowIterator():577:580 -> k
+    1:4:java.util.Iterator getOverflowIterator():577:580 -> l
     1:7:java.util.Map$Entry next():546:552 -> next
     1:7:java.lang.Object next():532 -> next
     1:10:void remove():557:566 -> remove
@@ -55636,27 +55710,27 @@
     int makeTag(int,int) -> a
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$1 -> com.android.tools.r8.v.b.a.u0.b.S:
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType -> com.android.tools.r8.v.b.a.u0.b.X:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType DOUBLE -> c
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType[] $VALUES -> u
-    int wireType -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType INT64 -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FLOAT -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType javaType -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType INT32 -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType UINT64 -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FIXED32 -> i
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FIXED64 -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType STRING -> k
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType BOOL -> j
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType MESSAGE -> m
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType GROUP -> l
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType UINT32 -> o
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType BYTES -> n
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SFIXED32 -> q
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType ENUM -> p
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SINT32 -> s
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SFIXED64 -> r
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SINT64 -> t
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType DOUBLE -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType[] $VALUES -> s
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType INT64 -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FLOAT -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType INT32 -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType UINT64 -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FIXED32 -> g
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FIXED64 -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType STRING -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType javaType -> t
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType BOOL -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType MESSAGE -> k
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType GROUP -> j
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType UINT32 -> m
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType BYTES -> l
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SFIXED32 -> o
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType ENUM -> n
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SINT32 -> q
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SFIXED64 -> p
+    int wireType -> u
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SINT64 -> r
     1:26:void <clinit>():108:133 -> <clinit>
     27:27:void <clinit>():107:107 -> <clinit>
     1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$1):107:107 -> <init>
@@ -55677,17 +55751,17 @@
     1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):125:125 -> <init>
     boolean isPackable() -> c
 com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType -> com.android.tools.r8.v.b.a.u0.b.Y:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType BOOLEAN -> f
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType STRING -> g
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType FLOAT -> d
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType[] $VALUES -> k
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType DOUBLE -> e
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType MESSAGE -> j
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType BYTE_STRING -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType ENUM -> i
-    java.lang.Object defaultDefault -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType INT -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType LONG -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType STRING -> f
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType BYTE_STRING -> g
+    java.lang.Object defaultDefault -> k
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType DOUBLE -> d
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType BOOLEAN -> e
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType[] $VALUES -> j
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType ENUM -> h
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType MESSAGE -> i
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType LONG -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType FLOAT -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType INT -> a
     1:9:void <clinit>():78:86 -> <clinit>
     10:10:void <clinit>():77:77 -> <clinit>
     1:2:void <init>(java.lang.String,int,java.lang.Object):88:89 -> <init>
@@ -55747,8 +55821,8 @@
     1:1:int hashCode():0 -> hashCode
     2:2:int hashCode():0:0 -> hashCode
 com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor -> com.android.tools.r8.v.b.a.v0.f:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor delegate -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor delegate -> b
     1:1:void <clinit>():154:154 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor):115:115 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):116:116 -> <init>
@@ -55789,8 +55863,8 @@
     1:1:void visitEnd():98 -> c
     2:2:void visitEnd():98:98 -> c
 com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor -> com.android.tools.r8.v.b.a.v0.j:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor delegate -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor delegate -> b
     1:1:void <clinit>():229:229 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor):161:161 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):162:162 -> <init>
@@ -55802,8 +55876,8 @@
     5:5:void visitSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):212:212 -> a
     1:1:void visitEnd():219:219 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor -> com.android.tools.r8.v.b.a.v0.k:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor delegate -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor delegate -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> a
     1:1:void <clinit>():341:341 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor):303:303 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):304:304 -> <init>
@@ -55812,8 +55886,8 @@
     2:2:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):324:324 -> a
     1:1:void visitEnd():331:331 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor -> com.android.tools.r8.v.b.a.v0.l:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
-    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor delegate -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor delegate -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> a
     1:1:void <clinit>():296:296 -> <clinit>
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor):267:267 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):268:268 -> <init>
@@ -55821,16 +55895,16 @@
     2:2:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279:279 -> a
     1:1:void visitEnd():286:286 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader -> com.android.tools.r8.v.b.a.v0.m:
-    java.lang.String packageName -> g
-    java.lang.String extraString -> f
-    int[] COMPATIBLE_METADATA_VERSION -> i
-    int[] metadataVersion -> b
-    int[] bytecodeVersion -> c
-    int extraInt -> h
-    java.lang.String[] data2 -> e
-    java.lang.String[] data1 -> d
-    int[] COMPATIBLE_BYTECODE_VERSION -> j
-    int kind -> a
+    java.lang.String packageName -> i
+    java.lang.String extraString -> h
+    int[] COMPATIBLE_BYTECODE_VERSION -> b
+    int extraInt -> j
+    int[] metadataVersion -> d
+    int[] bytecodeVersion -> e
+    java.lang.String[] data2 -> g
+    int[] COMPATIBLE_METADATA_VERSION -> a
+    java.lang.String[] data1 -> f
+    int kind -> c
     1:9:void <clinit>():143:151 -> <clinit>
     1:72:void <init>(java.lang.Integer,int[],int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):24:95 -> <init>
     1:1:int[] getBytecodeVersion():60:60 -> a
@@ -55842,14 +55916,14 @@
     1:1:int[] getMetadataVersion():52:52 -> g
     1:1:java.lang.String getPackageName():88:88 -> h
 com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata -> com.android.tools.r8.v.b.a.v0.n:
-    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader header -> a
-    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion Companion -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader header -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion Companion -> a
     1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):25:25 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):25:25 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader getHeader():25:25 -> a
 com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class -> com.android.tools.r8.v.b.a.v0.n$a:
-    com.android.tools.r8.jetbrains.kotlin.reflect.KProperty[] $$delegatedProperties -> d
-    com.android.tools.r8.jetbrains.kotlin.Lazy classData$delegate -> c
+    com.android.tools.r8.jetbrains.kotlin.reflect.KProperty[] $$delegatedProperties -> c
+    com.android.tools.r8.jetbrains.kotlin.Lazy classData$delegate -> d
     1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):29:30 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass toKmClass():40:40 -> b
     2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):0:0 -> b
@@ -55900,8 +55974,8 @@
     1:1:void <init>():326:326 -> <init>
     2:2:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):326:326 -> <init>
 com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade -> com.android.tools.r8.v.b.a.v0.n$c:
-    com.android.tools.r8.jetbrains.kotlin.reflect.KProperty[] $$delegatedProperties -> d
-    com.android.tools.r8.jetbrains.kotlin.Lazy packageData$delegate -> c
+    com.android.tools.r8.jetbrains.kotlin.reflect.KProperty[] $$delegatedProperties -> c
+    com.android.tools.r8.jetbrains.kotlin.Lazy packageData$delegate -> d
     1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):84:85 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():95:95 -> b
     2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):0:0 -> b
@@ -55937,8 +56011,8 @@
     1:5:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):217:221 -> <init>
     1:1:java.util.List getPartClassNames():221:221 -> b
 com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart -> com.android.tools.r8.v.b.a.v0.n$e:
-    com.android.tools.r8.jetbrains.kotlin.reflect.KProperty[] $$delegatedProperties -> d
-    com.android.tools.r8.jetbrains.kotlin.Lazy packageData$delegate -> c
+    com.android.tools.r8.jetbrains.kotlin.reflect.KProperty[] $$delegatedProperties -> c
+    com.android.tools.r8.jetbrains.kotlin.Lazy packageData$delegate -> d
     1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):260:261 -> <init>
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():277:277 -> b
     2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):0:0 -> b
@@ -55970,8 +56044,8 @@
     6:6:com.android.tools.r8.jetbrains.kotlin.Pair invoke():263:263 -> a
     6:6:java.lang.Object invoke():260 -> a
 com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass -> com.android.tools.r8.v.b.a.v0.n$f:
-    com.android.tools.r8.jetbrains.kotlin.reflect.KProperty[] $$delegatedProperties -> d
-    com.android.tools.r8.jetbrains.kotlin.Lazy functionData$delegate -> c
+    com.android.tools.r8.jetbrains.kotlin.reflect.KProperty[] $$delegatedProperties -> c
+    com.android.tools.r8.jetbrains.kotlin.Lazy functionData$delegate -> d
     1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):140:141 -> <init>
     1:1:boolean isLambda():159:159 -> b
     1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():153:153 -> c
@@ -56238,14 +56312,15 @@
 com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeVisitorProvider -> com.android.tools.r8.w.j:
 com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider -> com.android.tools.r8.w.k:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor get(int,java.lang.String) -> a
-com.android.tools.r8.kotlin.Kotlin -> com.android.tools.r8.w.l:
-    java.lang.String KOTLIN -> g
-    java.lang.String NAME -> f
-    com.android.tools.r8.kotlin.Kotlin$Functional functional -> b
-    com.android.tools.r8.kotlin.Kotlin$Metadata metadata -> d
-    com.android.tools.r8.kotlin.Kotlin$_Assertions assertions -> e
-    com.android.tools.r8.kotlin.Kotlin$Intrinsics intrinsics -> c
-    com.android.tools.r8.graph.DexItemFactory factory -> a
+com.android.tools.r8.kotlin.KmVisitorProviders$KmVersionRequirementVisitorProvider -> com.android.tools.r8.w.l:
+com.android.tools.r8.kotlin.Kotlin -> com.android.tools.r8.w.m:
+    com.android.tools.r8.kotlin.Kotlin$_Assertions assertions -> g
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    com.android.tools.r8.kotlin.Kotlin$Metadata metadata -> f
+    java.lang.String NAME -> a
+    com.android.tools.r8.kotlin.Kotlin$Functional functional -> d
+    java.lang.String KOTLIN -> b
+    com.android.tools.r8.kotlin.Kotlin$Intrinsics intrinsics -> e
     1:5:void <clinit>():25:29 -> <clinit>
     1:47:void <init>(com.android.tools.r8.graph.DexItemFactory):51:97 -> <init>
     48:56:void <init>(com.android.tools.r8.graph.DexItemFactory):95:103 -> <init>
@@ -56256,18 +56331,18 @@
     1:1:java.lang.String addKotlinPrefix(java.lang.String):32:32 -> a
     2:4:com.android.tools.r8.graph.DexType lambda$new$0(com.android.tools.r8.graph.DexItemFactory,java.lang.Integer):114:114 -> a
     1:1:com.android.tools.r8.graph.DexType lambda$new$1(com.android.tools.r8.graph.DexItemFactory,java.lang.Integer):116:116 -> b
-com.android.tools.r8.kotlin.Kotlin$1 -> com.android.tools.r8.w.l$a:
-com.android.tools.r8.kotlin.Kotlin$ClassClassifiers -> com.android.tools.r8.w.l$b:
+com.android.tools.r8.kotlin.Kotlin$1 -> com.android.tools.r8.w.m$a:
+com.android.tools.r8.kotlin.Kotlin$ClassClassifiers -> com.android.tools.r8.w.m$b:
     java.lang.String arrayBinaryName -> a
-    java.lang.String anyName -> b
+    java.lang.String anyDescriptor -> b
     1:2:void <clinit>():44:45 -> <clinit>
-com.android.tools.r8.kotlin.Kotlin$Functional -> com.android.tools.r8.w.l$c:
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap functions -> a
-    com.android.tools.r8.graph.DexString kotlinStyleLambdaInstanceName -> b
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.DexType lambdaType -> c
-    com.android.tools.r8.graph.DexMethod lambdaInitializerMethod -> d
-    com.android.tools.r8.kotlin.Kotlin this$0 -> e
+com.android.tools.r8.kotlin.Kotlin$Functional -> com.android.tools.r8.w.m$c:
+    com.android.tools.r8.kotlin.Kotlin this$0 -> f
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap functions -> b
+    com.android.tools.r8.graph.DexString kotlinStyleLambdaInstanceName -> c
+    com.android.tools.r8.graph.DexType lambdaType -> d
+    com.android.tools.r8.graph.DexMethod lambdaInitializerMethod -> e
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():120:120 -> <clinit>
     1:1:void <init>(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.kotlin.Kotlin$1):120:120 -> <init>
     2:2:void <init>(com.android.tools.r8.kotlin.Kotlin):138:138 -> <init>
@@ -56281,7 +56356,7 @@
     3:3:int getArity(com.android.tools.r8.graph.DexType):157 -> a
     4:6:int getArity(com.android.tools.r8.graph.DexType):157:159 -> a
     1:1:boolean isFunctionInterface(com.android.tools.r8.graph.DexType):153:153 -> b
-com.android.tools.r8.kotlin.Kotlin$Intrinsics -> com.android.tools.r8.w.l$d:
+com.android.tools.r8.kotlin.Kotlin$Intrinsics -> com.android.tools.r8.w.m$d:
     com.android.tools.r8.graph.DexType type -> a
     com.android.tools.r8.graph.DexMethod throwNpe -> d
     com.android.tools.r8.graph.DexMethod checkParameterIsNotNull -> c
@@ -56291,7 +56366,7 @@
     5:8:void <init>(com.android.tools.r8.kotlin.Kotlin):184:187 -> <init>
     9:13:void <init>(com.android.tools.r8.kotlin.Kotlin):186:190 -> <init>
     14:14:void <init>(com.android.tools.r8.kotlin.Kotlin):189:189 -> <init>
-com.android.tools.r8.kotlin.Kotlin$Metadata -> com.android.tools.r8.w.l$e:
+com.android.tools.r8.kotlin.Kotlin$Metadata -> com.android.tools.r8.w.m$e:
     com.android.tools.r8.graph.DexString kind -> a
     com.android.tools.r8.graph.DexString metadataVersion -> b
     com.android.tools.r8.graph.DexString bytecodeVersion -> c
@@ -56302,352 +56377,345 @@
     com.android.tools.r8.graph.DexString packageName -> g
     com.android.tools.r8.graph.DexString extraInt -> h
     1:9:void <init>(com.android.tools.r8.kotlin.Kotlin):163:171 -> <init>
-com.android.tools.r8.kotlin.Kotlin$_Assertions -> com.android.tools.r8.w.l$f:
+com.android.tools.r8.kotlin.Kotlin$_Assertions -> com.android.tools.r8.w.m$f:
     com.android.tools.r8.graph.DexString enabledFieldName -> b
     com.android.tools.r8.graph.DexType type -> a
     com.android.tools.r8.graph.DexField enabledField -> c
     com.android.tools.r8.kotlin.Kotlin this$0 -> d
     1:5:void <init>(com.android.tools.r8.kotlin.Kotlin):174:178 -> <init>
-com.android.tools.r8.kotlin.KotlinAnnotationInfo -> com.android.tools.r8.w.m:
-    java.util.Map arguments -> b
-    java.util.List EMPTY_ANNOTATIONS -> c
-    com.android.tools.r8.graph.DexType annotationType -> a
-    1:1:void <clinit>():25:25 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.graph.DexType,java.util.Map):32:34 -> <init>
-    1:5:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier):46:50 -> a
-    6:8:com.android.tools.r8.kotlin.KotlinAnnotationInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.graph.DexDefinitionSupplier):39:41 -> a
-    6:8:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier):51 -> a
-    9:11:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier):51:53 -> a
-    12:18:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):60:66 -> a
-com.android.tools.r8.kotlin.KotlinClassInfo -> com.android.tools.r8.w.n:
-    com.android.tools.r8.graph.DexType anonymousObjectOrigin -> k
+com.android.tools.r8.kotlin.KotlinAnnotationInfo -> com.android.tools.r8.w.n:
+    java.util.List EMPTY_ANNOTATIONS -> a
+    java.util.Map arguments -> c
+    com.android.tools.r8.kotlin.KotlinTypeReference annotationType -> b
+    1:1:void <clinit>():23:23 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,java.util.Map):30:32 -> <init>
+    1:5:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory):42:46 -> a
+    6:8:com.android.tools.r8.kotlin.KotlinAnnotationInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.graph.DexItemFactory):36:38 -> a
+    6:8:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory):47 -> a
+    9:11:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory):47:49 -> a
+    12:13:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):56:57 -> a
+    14:15:java.lang.String com.android.tools.r8.utils.DescriptorUtils.descriptorToKotlinClassifier(java.lang.String):185:186 -> a
+    14:15:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):62 -> a
+    16:17:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):63:64 -> a
+    1:1:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):69:69 -> trace
+com.android.tools.r8.kotlin.KotlinClassInfo -> com.android.tools.r8.w.o:
+    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> k
+    java.lang.String packageName -> m
+    int flags -> a
+    com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo declarationContainerInfo -> e
     java.util.List typeParameters -> f
+    com.android.tools.r8.kotlin.KotlinTypeReference anonymousObjectOrigin -> l
     java.util.List constructorsWithNoBacking -> d
-    java.lang.String packageName -> l
     java.util.List enumEntries -> j
     java.util.List nestedClasses -> i
     java.util.List sealedSubClasses -> h
     java.util.List superTypes -> g
     java.lang.String moduleName -> c
     java.lang.String name -> b
-    int flags -> a
-    com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo declarationContainerInfo -> e
-    1:13:void <init>(int,java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo,java.util.List,java.util.List,java.util.List,java.util.List,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,java.lang.String):63:75 -> <init>
-    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):196:207 -> a
-    13:13:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.kotlinNameFromDescriptor(com.android.tools.r8.graph.DexString):156:156 -> a
-    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):208 -> a
-    14:58:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.setName(java.lang.String):0:44 -> a
-    14:58:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):205 -> a
-    59:61:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):210:212 -> a
-    62:90:void com.android.tools.r8.kotlin.KotlinCompanionInfo.rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.NamingLens):0:28 -> a
-    62:90:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):212 -> a
-    91:121:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):216:246 -> a
-    122:122:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.kotlinNameFromDescriptor(com.android.tools.r8.graph.DexString):156:156 -> a
-    122:122:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):246 -> a
-    123:132:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):249:258 -> a
-    133:133:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.kotlinNameFromDescriptor(com.android.tools.r8.graph.DexString):156:156 -> a
-    133:133:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):257 -> a
-    134:134:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):260:260 -> a
-    135:143:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):259:267 -> a
-    144:173:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):0:29 -> a
-    144:173:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):267 -> a
-    174:175:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):268:269 -> a
-    176:176:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.kotlinNameFromDescriptor(com.android.tools.r8.graph.DexString):156:156 -> a
-    176:176:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):270 -> a
-    177:216:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):0:39 -> a
-    177:216:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):269 -> a
-    217:219:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):273:275 -> a
-    1:1:java.lang.String getPackageName():280:280 -> g
-com.android.tools.r8.kotlin.KotlinClassLevelInfo -> com.android.tools.r8.w.o:
+    1:14:void <init>(int,java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo,java.util.List,java.util.List,java.util.List,java.util.List,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo,com.android.tools.r8.kotlin.KotlinTypeReference,java.lang.String):65:78 -> <init>
+    1:3:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):88:90 -> a
+    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.kotlin.KotlinMetadataUtils.toJvmFieldSignature(com.android.tools.r8.graph.DexField):74:74 -> a
+    4:4:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):90 -> a
+    5:27:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):90:112 -> a
+    28:34:void setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):173:179 -> a
+    28:34:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):114 -> a
+    35:35:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.missingCompanionObject(com.android.tools.r8.graph.DexClass,java.lang.String):43:43 -> a
+    35:35:void setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):184 -> a
+    35:35:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):114 -> a
+    36:36:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
+    36:36:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.missingCompanionObject(com.android.tools.r8.graph.DexClass,java.lang.String):44 -> a
+    36:36:void setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):184 -> a
+    36:36:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):114 -> a
+    37:42:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.missingCompanionObject(com.android.tools.r8.graph.DexClass,java.lang.String):44:49 -> a
+    37:42:void setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):184 -> a
+    37:42:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):114 -> a
+    43:43:void setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):183:183 -> a
+    43:43:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):114 -> a
+    44:45:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):115:116 -> a
+    46:73:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:27 -> a
+    46:73:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):118 -> a
+    74:76:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):120:122 -> a
+    77:81:java.util.List getSuperTypes(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):165:169 -> a
+    77:81:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):122 -> a
+    82:82:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):123:123 -> a
+    83:90:java.util.List getSealedSubClasses(java.util.List,com.android.tools.r8.graph.DexItemFactory):153:160 -> a
+    83:90:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):123 -> a
+    91:91:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):124:124 -> a
+    92:98:java.util.List getNestedClasses(com.android.tools.r8.graph.DexClass,java.util.List,com.android.tools.r8.graph.DexItemFactory):142:148 -> a
+    92:98:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):124 -> a
+    99:100:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):125:126 -> a
+    101:138:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:37 -> a
+    101:138:com.android.tools.r8.kotlin.KotlinTypeReference getAnonymousObjectOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexItemFactory):133 -> a
+    101:138:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):127 -> a
+    139:139:com.android.tools.r8.kotlin.KotlinTypeReference getAnonymousObjectOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexItemFactory):135:135 -> a
+    139:139:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):127 -> a
+    140:140:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):127:127 -> a
+    141:153:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):200:212 -> a
+    154:198:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.setName(java.lang.String):0:44 -> a
+    154:198:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):209 -> a
+    199:201:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):214:216 -> a
+    202:231:void com.android.tools.r8.kotlin.KotlinCompanionInfo.rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.NamingLens):0:29 -> a
+    202:231:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):216 -> a
+    232:274:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):220:262 -> a
+    275:283:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):261:269 -> a
+    284:313:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):0:29 -> a
+    284:313:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):269 -> a
+    314:316:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):270:272 -> a
+    317:356:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):0:39 -> a
+    317:356:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):274 -> a
+    357:359:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):278:280 -> a
+    360:360:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinConstructorInfo):290:290 -> a
+    361:361:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):292:292 -> a
+    362:362:java.util.function.Consumer lambda$trace$2(com.android.tools.r8.kotlin.KotlinTypeInfo):293:293 -> a
+    363:363:java.util.function.Consumer lambda$trace$3(com.android.tools.r8.kotlin.KotlinTypeReference):294:294 -> a
+    1:1:java.util.function.Consumer lambda$trace$4(com.android.tools.r8.kotlin.KotlinTypeReference):295:295 -> b
+    1:1:java.lang.String getPackageName():285:285 -> g
+    1:9:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):290:298 -> trace
+com.android.tools.r8.kotlin.KotlinClassLevelInfo -> com.android.tools.r8.w.p:
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens) -> a
     java.lang.String getPackageName() -> g
     boolean isSyntheticClass() -> i
-    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo asSyntheticClass() -> j
-com.android.tools.r8.kotlin.KotlinClassMetadataReader -> com.android.tools.r8.w.p:
-    1:26:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):73:98 -> a
+    boolean isNoKotlinInformation() -> j
+    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo asSyntheticClass() -> k
+com.android.tools.r8.kotlin.KotlinClassMetadataReader -> com.android.tools.r8.w.q:
+    1:26:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):78:103 -> a
     27:368:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0:341 -> a
     27:368:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
-    27:368:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):99 -> a
+    27:368:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):104 -> a
     369:382:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):339:352 -> a
     369:382:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
-    369:382:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):99 -> a
+    369:382:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):104 -> a
     383:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):351:351 -> a
     383:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
-    383:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):99 -> a
+    383:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):104 -> a
     384:384:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):350:350 -> a
     384:384:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
-    384:384:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):99 -> a
+    384:384:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):104 -> a
     385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):349:349 -> a
     385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
-    385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):99 -> a
+    385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):104 -> a
     386:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):348:348 -> a
     386:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
-    386:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):99 -> a
+    386:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):104 -> a
     387:397:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):347:357 -> a
     387:397:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
-    387:397:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):99 -> a
+    387:397:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):104 -> a
     398:398:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):355:355 -> a
     398:398:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
-    398:398:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):99 -> a
-    399:399:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):80:80 -> a
-    400:403:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):109:112 -> a
-    404:406:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):85:87 -> a
-    404:406:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    407:407:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.kotlin.KotlinMetadataUtils.toJvmFieldSignature(com.android.tools.r8.graph.DexField):65:65 -> a
-    407:407:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):87 -> a
-    407:407:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    408:430:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):87:109 -> a
-    408:430:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    431:437:void com.android.tools.r8.kotlin.KotlinClassInfo.setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):169:175 -> a
-    431:437:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    431:437:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    438:438:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.missingCompanionObject(com.android.tools.r8.graph.DexClass,java.lang.String):43:43 -> a
-    438:438:void com.android.tools.r8.kotlin.KotlinClassInfo.setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):180 -> a
-    438:438:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    438:438:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    439:439:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
-    439:439:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.missingCompanionObject(com.android.tools.r8.graph.DexClass,java.lang.String):44 -> a
-    439:439:void com.android.tools.r8.kotlin.KotlinClassInfo.setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):180 -> a
-    439:439:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    439:439:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    440:445:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.missingCompanionObject(com.android.tools.r8.graph.DexClass,java.lang.String):44:49 -> a
-    440:445:void com.android.tools.r8.kotlin.KotlinClassInfo.setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):180 -> a
-    440:445:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    440:445:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    446:446:void com.android.tools.r8.kotlin.KotlinClassInfo.setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):179:179 -> a
-    446:446:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    446:446:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    447:448:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):112:113 -> a
-    447:448:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    449:476:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:27 -> a
-    449:476:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):115 -> a
-    449:476:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    477:479:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):117:119 -> a
-    477:479:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    480:484:java.util.List com.android.tools.r8.kotlin.KotlinClassInfo.getSuperTypes(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):161:165 -> a
-    480:484:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):119 -> a
-    480:484:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    485:485:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):120:120 -> a
-    485:485:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    486:493:java.util.List com.android.tools.r8.kotlin.KotlinClassInfo.getSealedSubClasses(com.android.tools.r8.graph.DexClass,java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier):149:156 -> a
-    486:493:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):120 -> a
-    486:493:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    494:494:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):121:121 -> a
-    494:494:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    495:501:java.util.List com.android.tools.r8.kotlin.KotlinClassInfo.getNestedClasses(com.android.tools.r8.graph.DexClass,java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier):138:144 -> a
-    495:501:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):121 -> a
-    495:501:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    502:502:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):122:122 -> a
-    502:502:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    503:540:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:37 -> a
-    503:540:com.android.tools.r8.graph.DexType com.android.tools.r8.kotlin.KotlinClassInfo.getAnonymousObjectOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexDefinitionSupplier):129 -> a
-    503:540:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):123 -> a
-    503:540:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    541:541:com.android.tools.r8.graph.DexType com.android.tools.r8.kotlin.KotlinClassInfo.getAnonymousObjectOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexDefinitionSupplier):131:131 -> a
-    541:541:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):123 -> a
-    541:541:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    542:542:com.android.tools.r8.kotlin.KotlinClassInfo com.android.tools.r8.kotlin.KotlinClassInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):123:123 -> a
-    542:542:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):111 -> a
-    543:574:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):118:149 -> a
-    575:582:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):154:161 -> a
-    583:583:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):155:155 -> a
-    1:4:java.lang.String getUnboxedString(com.android.tools.r8.graph.DexValue,java.lang.String):180:183 -> b
-    5:5:java.lang.String getUnboxedString(com.android.tools.r8.graph.DexValue,java.lang.String):181:181 -> b
-    1:8:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):167:174 -> c
-    9:9:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):168:168 -> c
-com.android.tools.r8.kotlin.KotlinClassMetadataReader$MetadataError -> com.android.tools.r8.w.p$a:
-    1:1:void <init>(java.lang.String):188:188 -> <init>
-com.android.tools.r8.kotlin.KotlinClassifierInfo -> com.android.tools.r8.w.w:
-    1:1:void <init>():23:23 -> <init>
+    398:398:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):104 -> a
+    399:399:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):85:85 -> a
+    400:403:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):114:117 -> a
+    404:442:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):116:154 -> a
+    443:450:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):159:166 -> a
+    451:451:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):160:160 -> a
+    1:4:java.lang.String getUnboxedString(com.android.tools.r8.graph.DexValue,java.lang.String):185:188 -> b
+    5:5:java.lang.String getUnboxedString(com.android.tools.r8.graph.DexValue,java.lang.String):186:186 -> b
+    1:8:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):172:179 -> c
+    9:9:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):173:173 -> c
+com.android.tools.r8.kotlin.KotlinClassMetadataReader$MetadataError -> com.android.tools.r8.w.q$a:
+    1:1:void <init>(java.lang.String):193:193 -> <init>
+com.android.tools.r8.kotlin.KotlinClassifierInfo -> com.android.tools.r8.w.x:
+    1:1:void <init>():21:21 -> <init>
     void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens) -> a
-    1:9:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):27:35 -> a
-    10:13:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):34:37 -> a
-    14:17:com.android.tools.r8.graph.DexType com.android.tools.r8.kotlin.KotlinMetadataUtils.referenceTypeFromDescriptor(java.lang.String,com.android.tools.r8.graph.DexDefinitionSupplier):167:170 -> a
-    14:17:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):38 -> a
-    18:27:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):38:47 -> a
-    28:29:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):53:54 -> a
-    28:29:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):47 -> a
-    30:31:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):47:48 -> a
-com.android.tools.r8.kotlin.KotlinClassifierInfo$1 -> com.android.tools.r8.w.q:
-com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinClassClassifierInfo -> com.android.tools.r8.w.r:
-    com.android.tools.r8.graph.DexType type -> a
+    1:9:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):25:33 -> a
+    10:23:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):32:45 -> a
+    24:25:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):53:54 -> a
+    24:25:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):45 -> a
+    26:27:com.android.tools.r8.kotlin.KotlinClassifierInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):45:46 -> a
+com.android.tools.r8.kotlin.KotlinClassifierInfo$1 -> com.android.tools.r8.w.r:
+com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinClassClassifierInfo -> com.android.tools.r8.w.s:
     boolean isLocalOrAnonymous -> b
-    1:1:void <init>(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):55:55 -> <init>
-    2:4:void <init>(com.android.tools.r8.graph.DexType,boolean):60:62 -> <init>
-    1:10:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):68:77 -> a
-    11:14:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):76:79 -> a
-com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeAliasClassifierInfo -> com.android.tools.r8.w.s:
+    com.android.tools.r8.kotlin.KotlinTypeReference type -> a
+    1:1:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,boolean,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):53:53 -> <init>
+    2:4:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,boolean):58:60 -> <init>
+    1:6:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):66:71 -> a
+    7:8:java.lang.String com.android.tools.r8.utils.DescriptorUtils.descriptorToKotlinClassifier(java.lang.String):185:186 -> a
+    7:8:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):73 -> a
+    9:9:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):73:73 -> a
+    1:1:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):79:79 -> trace
+com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeAliasClassifierInfo -> com.android.tools.r8.w.t:
     java.lang.String typeAlias -> a
-    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):99:99 -> <init>
-    2:3:void <init>(java.lang.String):103:104 -> <init>
-    1:1:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):110:110 -> a
-com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeParameterClassifierInfo -> com.android.tools.r8.w.t:
+    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):103:103 -> <init>
+    2:3:void <init>(java.lang.String):107:108 -> <init>
+    1:1:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):114:114 -> a
+com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeParameterClassifierInfo -> com.android.tools.r8.w.u:
     int typeId -> a
-    1:1:void <init>(int,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):84:84 -> <init>
-    2:3:void <init>(int):88:89 -> <init>
-    1:1:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):95:95 -> a
-com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassClassifierInfo -> com.android.tools.r8.w.u:
+    1:1:void <init>(int,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):83:83 -> <init>
+    2:3:void <init>(int):87:88 -> <init>
+    1:1:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):94:94 -> a
+com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassClassifierInfo -> com.android.tools.r8.w.v:
     java.lang.String classifier -> a
-    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):114:114 -> <init>
-    2:3:void <init>(java.lang.String):117:118 -> <init>
-    1:1:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):124:124 -> a
-com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassifierInfo -> com.android.tools.r8.w.v:
+    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):123:123 -> <init>
+    2:3:void <init>(java.lang.String):126:127 -> <init>
+    1:1:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):133:133 -> a
+com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassifierInfo -> com.android.tools.r8.w.w:
     java.lang.String classifier -> a
-    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):128:128 -> <init>
-    2:3:void <init>(java.lang.String):131:132 -> <init>
-    1:1:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):138:138 -> a
-com.android.tools.r8.kotlin.KotlinCompanionInfo -> com.android.tools.r8.w.x:
-    1:1:void <init>():13:13 -> <init>
+    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):142:142 -> <init>
+    2:3:void <init>(java.lang.String):145:146 -> <init>
+    1:1:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):152:152 -> a
+com.android.tools.r8.kotlin.KotlinCompanionInfo -> com.android.tools.r8.w.y:
+    1:1:void <init>():14:14 -> <init>
     boolean isCompanion() -> e
     com.android.tools.r8.kotlin.KotlinCompanionInfo asCompanion() -> f
-com.android.tools.r8.kotlin.KotlinConstructorInfo -> com.android.tools.r8.w.y:
-    java.util.List valueParameterInfos -> b
+com.android.tools.r8.kotlin.KotlinConstructorInfo -> com.android.tools.r8.w.z:
+    java.util.List valueParameters -> b
+    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> c
+    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo signature -> d
     int flags -> a
-    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo signature -> c
-    1:4:void <init>(int,java.util.List,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo):31:34 -> <init>
-    1:4:com.android.tools.r8.kotlin.KotlinConstructorInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):39:42 -> a
-    5:8:com.android.tools.r8.kotlin.KotlinConstructorInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):41:44 -> a
-    9:9:com.android.tools.r8.kotlin.KotlinConstructorInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):43:43 -> a
-    10:12:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):55:57 -> a
-    13:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):0:0 -> a
-    13:13:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):57 -> a
-    14:39:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):0:25 -> a
-    14:39:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):145 -> a
-    14:39:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):57 -> a
-    40:40:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):145:145 -> a
-    40:40:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):57 -> a
-    41:44:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):59:62 -> a
+    1:5:void <init>(int,java.util.List,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo):37:41 -> <init>
+    1:5:com.android.tools.r8.kotlin.KotlinConstructorInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):46:50 -> a
+    6:8:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):61:63 -> a
+    9:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):0:0 -> a
+    9:9:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):63 -> a
+    10:35:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):0:25 -> a
+    10:35:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):145 -> a
+    10:35:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):63 -> a
+    36:36:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):145:145 -> a
+    36:36:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):63 -> a
+    37:41:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65:69 -> a
+    42:42:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinValueParameterInfo):84:84 -> a
     com.android.tools.r8.kotlin.KotlinConstructorInfo asConstructor() -> c
-    boolean isConstructor() -> l
-com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo -> com.android.tools.r8.w.A:
-    java.util.List functionsWithNoBacking -> b
-    java.util.List typeAliases -> a
-    java.util.List propertiesWithNoBacking -> c
-    boolean $assertionsDisabled -> d
-    1:1:void <clinit>():32:32 -> <clinit>
-    1:4:void <init>(java.util.List,java.util.List,java.util.List):44:47 -> <init>
-    1:13:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):57:69 -> a
-    14:16:boolean com.android.tools.r8.kotlin.KotlinMetadataUtils.isValidMethodDescriptor(java.lang.String):128:130 -> a
-    14:16:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):69 -> a
-    17:17:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):81:81 -> a
-    18:19:void keepIfInline(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):129:130 -> a
-    18:19:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):81 -> a
-    20:42:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):82:104 -> a
-    43:44:void keepIfAccessorInline(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):136:137 -> a
-    43:44:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):104 -> a
-    45:53:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):105:113 -> a
-    54:55:void keepIfAccessorInline(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):136:137 -> a
-    54:55:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):113 -> a
-    56:64:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):114:122 -> a
-    65:69:java.util.List getTypeAliases(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):143:147 -> a
-    65:69:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):122 -> a
-    70:71:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):123:124 -> a
-    72:81:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):158:167 -> a
-    82:114:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):166:198 -> a
-    115:128:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):194:207 -> a
-    129:129:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup lambda$rewrite$0(com.android.tools.r8.kotlin.KotlinPropertyInfo):167:167 -> a
-    1:1:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup lambda$rewrite$1(com.android.tools.r8.kotlin.KotlinPropertyInfo):184:184 -> b
-com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup -> com.android.tools.r8.w.z:
-    com.android.tools.r8.graph.DexEncodedField backingField -> a
-    com.android.tools.r8.graph.DexEncodedMethod getter -> c
-    com.android.tools.r8.graph.DexEncodedMethod setter -> b
-    boolean $assertionsDisabled -> d
-    1:1:void <clinit>():211:211 -> <clinit>
-    1:5:void <init>():211:215 -> <init>
-    1:1:com.android.tools.r8.graph.DexEncodedField access$000(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):211:211 -> a
-    2:3:void setBackingField(com.android.tools.r8.graph.DexEncodedField):218:219 -> a
-    4:5:void setGetter(com.android.tools.r8.graph.DexEncodedMethod):223:224 -> a
-    1:1:com.android.tools.r8.graph.DexEncodedMethod access$100(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):211:211 -> b
-    2:3:void setSetter(com.android.tools.r8.graph.DexEncodedMethod):228:229 -> b
-    1:1:com.android.tools.r8.graph.DexEncodedMethod access$200(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):211:211 -> c
-com.android.tools.r8.kotlin.KotlinFieldLevelInfo -> com.android.tools.r8.w.B:
+    boolean isConstructor() -> m
+    1:3:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):84:86 -> trace
+com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo -> com.android.tools.r8.w.B:
+    java.util.List typeAliases -> b
+    java.util.List propertiesWithNoBacking -> d
+    java.util.List functionsWithNoBacking -> c
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():35:35 -> <clinit>
+    1:4:void <init>(java.util.List,java.util.List,java.util.List):47:50 -> <init>
+    1:25:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):60:84 -> a
+    26:27:void keepIfInline(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):132:133 -> a
+    26:27:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):84 -> a
+    28:50:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):85:107 -> a
+    51:52:void keepIfAccessorInline(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):139:140 -> a
+    51:52:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):107 -> a
+    53:61:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):108:116 -> a
+    62:63:void keepIfAccessorInline(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):139:140 -> a
+    62:63:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):116 -> a
+    64:72:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):117:125 -> a
+    73:77:java.util.List getTypeAliases(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):146:150 -> a
+    73:77:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):125 -> a
+    78:79:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):126:127 -> a
+    80:89:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):161:170 -> a
+    90:122:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):169:201 -> a
+    123:136:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):197:210 -> a
+    137:137:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup lambda$rewrite$0(com.android.tools.r8.kotlin.KotlinPropertyInfo):170:170 -> a
+    138:138:java.util.function.Consumer lambda$trace$2(com.android.tools.r8.kotlin.KotlinTypeAliasInfo):216:216 -> a
+    139:139:java.util.function.Consumer lambda$trace$3(com.android.tools.r8.kotlin.KotlinFunctionInfo):217:217 -> a
+    1:1:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup lambda$rewrite$1(com.android.tools.r8.kotlin.KotlinPropertyInfo):187:187 -> b
+    1:1:java.util.function.Consumer lambda$trace$4(com.android.tools.r8.kotlin.KotlinPropertyInfo):218:218 -> c
+    1:3:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):216:218 -> trace
+com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup -> com.android.tools.r8.w.A:
+    com.android.tools.r8.graph.DexEncodedField backingField -> b
+    com.android.tools.r8.graph.DexEncodedMethod getter -> d
+    com.android.tools.r8.graph.DexEncodedMethod setter -> c
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():221:221 -> <clinit>
+    1:5:void <init>():221:225 -> <init>
+    1:1:com.android.tools.r8.graph.DexEncodedField access$000(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):221:221 -> a
+    2:3:void setBackingField(com.android.tools.r8.graph.DexEncodedField):228:229 -> a
+    4:5:void setGetter(com.android.tools.r8.graph.DexEncodedMethod):233:234 -> a
+    1:1:com.android.tools.r8.graph.DexEncodedMethod access$100(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):221:221 -> b
+    2:3:void setSetter(com.android.tools.r8.graph.DexEncodedMethod):238:239 -> b
+    1:1:com.android.tools.r8.graph.DexEncodedMethod access$200(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):221:221 -> c
+com.android.tools.r8.kotlin.KotlinFieldLevelInfo -> com.android.tools.r8.w.C:
     com.android.tools.r8.kotlin.KotlinPropertyInfo asFieldProperty() -> b
     boolean isCompanion() -> e
     com.android.tools.r8.kotlin.KotlinCompanionInfo asCompanion() -> f
-    boolean isFieldProperty() -> k
-com.android.tools.r8.kotlin.KotlinFileFacadeInfo -> com.android.tools.r8.w.C:
+    boolean isFieldProperty() -> l
+com.android.tools.r8.kotlin.KotlinFileFacadeInfo -> com.android.tools.r8.w.D:
     com.android.tools.r8.kotlin.KotlinPackageInfo packageInfo -> a
     java.lang.String packageName -> b
-    1:3:void <init>(com.android.tools.r8.kotlin.KotlinPackageInfo,java.lang.String):26:28 -> <init>
-    1:3:com.android.tools.r8.kotlin.KotlinFileFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):38:40 -> a
-    4:4:com.android.tools.r8.kotlin.KotlinFileFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):39:39 -> a
-    5:9:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):57:61 -> a
-    1:1:java.lang.String getPackageName():66:66 -> g
-com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo -> com.android.tools.r8.w.D:
-    java.lang.String typeFlexibilityId -> i
-    com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo NO_FLEXIBLE_UPPER_BOUND -> j
-    boolean $assertionsDisabled -> k
-    1:4:void <clinit>():17:20 -> <clinit>
-    1:10:void <init>(int,com.android.tools.r8.kotlin.KotlinClassifierInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo,java.lang.String):35:44 -> <init>
-    1:12:com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):52:63 -> a
-    13:15:com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):62:64 -> a
-    16:20:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):71:75 -> a
-    21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor lambda$rewrite$0(com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider,int):75:75 -> a
-com.android.tools.r8.kotlin.KotlinFunctionInfo -> com.android.tools.r8.w.E:
+    1:3:void <init>(com.android.tools.r8.kotlin.KotlinPackageInfo,java.lang.String):27:29 -> <init>
+    1:3:com.android.tools.r8.kotlin.KotlinFileFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):39:41 -> a
+    4:4:com.android.tools.r8.kotlin.KotlinFileFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):40:40 -> a
+    5:9:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):58:62 -> a
+    1:1:java.lang.String getPackageName():67:67 -> g
+    1:1:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):72:72 -> trace
+com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo -> com.android.tools.r8.w.E:
+    java.lang.String typeFlexibilityId -> k
+    com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo NO_FLEXIBLE_UPPER_BOUND -> i
+    boolean $assertionsDisabled -> j
+    1:4:void <clinit>():18:21 -> <clinit>
+    1:10:void <init>(int,com.android.tools.r8.kotlin.KotlinClassifierInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo,java.lang.String):36:45 -> <init>
+    1:12:com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:62 -> a
+    13:15:com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):61:63 -> a
+    16:20:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):70:74 -> a
+    21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor lambda$rewrite$0(com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider,int):74:74 -> a
+    1:4:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):79:82 -> trace
+com.android.tools.r8.kotlin.KotlinFunctionInfo -> com.android.tools.r8.w.F:
+    com.android.tools.r8.kotlin.KotlinTypeReference lambdaClassOrigin -> h
     com.android.tools.r8.kotlin.KotlinTypeInfo receiverParameterType -> e
     java.util.List typeParameters -> f
+    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> i
     com.android.tools.r8.kotlin.KotlinTypeInfo returnType -> d
+    boolean crossInlineParameter -> j
     java.util.List valueParameters -> c
     com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo signature -> g
-    com.android.tools.r8.graph.DexType lambdaClassOrigin -> h
     java.lang.String name -> b
     int flags -> a
-    1:9:void <init>(int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo,com.android.tools.r8.graph.DexType):49:57 -> <init>
+    1:11:void <init>(int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo,com.android.tools.r8.kotlin.KotlinTypeReference,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo,boolean):55:65 -> <init>
     com.android.tools.r8.kotlin.KotlinFunctionInfo asFunction() -> a
-    1:7:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):62:68 -> a
-    8:11:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):67:70 -> a
-    12:15:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):69:72 -> a
-    16:16:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):71:71 -> a
-    17:17:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:0 -> a
-    17:17:com.android.tools.r8.graph.DexType getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier):78 -> a
-    17:17:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):73 -> a
-    18:37:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:19 -> a
-    18:37:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):79 -> a
-    18:37:com.android.tools.r8.graph.DexType getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier):78 -> a
-    18:37:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):73 -> a
-    38:38:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):79:79 -> a
-    38:38:com.android.tools.r8.graph.DexType getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier):78 -> a
-    38:38:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):73 -> a
-    39:39:com.android.tools.r8.graph.DexType getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier):80:80 -> a
-    39:39:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):73 -> a
-    40:40:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):73:73 -> a
-    41:67:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):91:117 -> a
-    68:68:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.kotlinNameFromDescriptor(com.android.tools.r8.graph.DexString):156:156 -> a
-    68:68:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):118 -> a
-    69:69:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):117:117 -> a
+    1:2:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):76:77 -> a
+    3:45:boolean com.android.tools.r8.kotlin.KotlinValueParameterInfo.isCrossInline():0:42 -> a
+    3:45:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):78 -> a
+    46:53:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):83:90 -> a
+    54:54:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:0 -> a
+    54:54:com.android.tools.r8.kotlin.KotlinTypeReference getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory):98 -> a
+    54:54:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):91 -> a
+    55:74:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:19 -> a
+    55:74:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):79 -> a
+    55:74:com.android.tools.r8.kotlin.KotlinTypeReference getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory):98 -> a
+    55:74:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):91 -> a
+    75:75:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):79:79 -> a
+    75:75:com.android.tools.r8.kotlin.KotlinTypeReference getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory):98 -> a
+    75:75:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):91 -> a
+    76:76:com.android.tools.r8.kotlin.KotlinTypeReference getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory):100:100 -> a
+    76:76:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):91 -> a
+    77:77:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):92:92 -> a
+    78:108:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):111:141 -> a
+    109:109:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinValueParameterInfo):166:166 -> a
+    110:110:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):171:171 -> a
     boolean isFunction() -> d
-com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo -> com.android.tools.r8.w.F:
-    com.android.tools.r8.graph.DexType type -> a
+    1:1:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo getSignature():161:161 -> n
+    1:1:boolean hasCrossInlineParameter():69:69 -> o
+    1:11:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):166:176 -> trace
+com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo -> com.android.tools.r8.w.G:
     java.lang.String name -> b
-    1:3:void <init>(java.lang.String,com.android.tools.r8.graph.DexType):27:29 -> <init>
-    1:3:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.graph.DexDefinitionSupplier):37:39 -> a
-    4:7:com.android.tools.r8.graph.DexType com.android.tools.r8.kotlin.KotlinMetadataUtils.referenceTypeFromDescriptor(java.lang.String,com.android.tools.r8.graph.DexDefinitionSupplier):167:170 -> a
-    4:7:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.graph.DexDefinitionSupplier):39 -> a
-    8:8:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.graph.DexDefinitionSupplier):39:39 -> a
-    9:19:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature rewrite(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):44:54 -> a
-com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo -> com.android.tools.r8.w.G:
-    java.util.List EMPTY_PARAMETERS_LIST -> d
-    java.util.List parameters -> c
-    java.lang.String name -> a
-    com.android.tools.r8.graph.DexType returnType -> b
-    1:1:void <clinit>():27:27 -> <clinit>
-    1:4:void <init>(java.lang.String,com.android.tools.r8.graph.DexType,java.util.List):33:36 -> <init>
-    1:2:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexDefinitionSupplier):44:45 -> a
-    3:6:com.android.tools.r8.graph.DexType com.android.tools.r8.kotlin.KotlinMetadataUtils.referenceTypeFromDescriptor(java.lang.String,com.android.tools.r8.graph.DexDefinitionSupplier):167:170 -> a
-    3:6:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexDefinitionSupplier):46 -> a
-    7:13:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexDefinitionSupplier):47:53 -> a
-    14:17:com.android.tools.r8.graph.DexType com.android.tools.r8.kotlin.KotlinMetadataUtils.referenceTypeFromDescriptor(java.lang.String,com.android.tools.r8.graph.DexDefinitionSupplier):167:170 -> a
-    14:17:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexDefinitionSupplier):54 -> a
-    18:21:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexDefinitionSupplier):54:57 -> a
-    22:38:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature rewrite(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):62:78 -> a
-com.android.tools.r8.kotlin.KotlinLambdaInfo -> com.android.tools.r8.w.H:
+    com.android.tools.r8.kotlin.KotlinTypeReference type -> a
+    1:3:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinTypeReference):25:27 -> <init>
+    1:3:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.graph.DexItemFactory):35:37 -> a
+    4:14:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature rewrite(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):42:52 -> a
+    1:1:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):57:57 -> trace
+com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo -> com.android.tools.r8.w.H:
+    java.util.List EMPTY_PARAMETERS_LIST -> a
+    java.lang.String invalidDescriptor -> f
+    java.util.List parameters -> e
+    java.lang.String name -> c
+    com.android.tools.r8.kotlin.KotlinTypeReference returnType -> d
     boolean $assertionsDisabled -> b
-    com.android.tools.r8.kotlin.KotlinFunctionInfo function -> a
-    1:1:void <clinit>():22:22 -> <clinit>
-    1:2:void <init>(com.android.tools.r8.kotlin.KotlinFunctionInfo):26:27 -> <init>
-    1:14:com.android.tools.r8.kotlin.KotlinLambdaInfo create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):36:49 -> a
-    15:18:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmLambdaVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):62:65 -> a
-com.android.tools.r8.kotlin.KotlinMetadataDiagnostic -> com.android.tools.r8.w.I:
+    1:3:void <clinit>():25:27 -> <clinit>
+    1:5:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinTypeReference,java.util.List):35:39 -> <init>
+    6:10:void <init>(java.lang.String,java.lang.String):42:46 -> <init>
+    1:19:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):54:72 -> a
+    20:40:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature rewrite(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77:97 -> a
+    41:41:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeReference):124:124 -> a
+    1:13:java.lang.String toString():102:114 -> toString
+    1:6:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):119:124 -> trace
+com.android.tools.r8.kotlin.KotlinLambdaInfo -> com.android.tools.r8.w.I:
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.kotlin.KotlinFunctionInfo function -> b
+    boolean hasBacking -> c
+    1:1:void <clinit>():23:23 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.kotlin.KotlinFunctionInfo,boolean):28:30 -> <init>
+    1:12:com.android.tools.r8.kotlin.KotlinLambdaInfo create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):39:50 -> a
+    13:29:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmLambdaVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):58:74 -> a
+    30:36:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.lambdaBackingNotFound(com.android.tools.r8.graph.DexType,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo):79:85 -> a
+    30:36:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmLambdaVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):74 -> a
+    37:41:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmLambdaVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):73:77 -> a
+    1:1:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):83:83 -> trace
+com.android.tools.r8.kotlin.KotlinMetadataDiagnostic -> com.android.tools.r8.w.J:
     com.android.tools.r8.origin.Origin origin -> a
     com.android.tools.r8.position.Position position -> b
     java.lang.String message -> c
@@ -56655,25 +56723,44 @@
     1:1:java.lang.String getDiagnosticMessage():38:38 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():28:28 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():33:33 -> getPosition
-com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension -> com.android.tools.r8.w.J:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set keepByteCodeFunctions -> c
-    com.android.tools.r8.graph.DexDefinitionSupplier definitionSupplier -> b
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexDefinitionSupplier):24:24 -> <init>
-    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexDefinitionSupplier):21:26 -> <init>
-    1:21:void done(com.android.tools.r8.shaking.Enqueuer):31:51 -> a
-    22:28:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):42:48 -> a
-    29:53:com.android.tools.r8.kotlin.KotlinClassLevelInfo com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,boolean,java.util.function.Consumer):40:64 -> a
-    29:53:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):43 -> a
-    54:60:com.android.tools.r8.kotlin.KotlinClassLevelInfo com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,boolean,java.util.function.Consumer):59:65 -> a
-    54:60:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):43 -> a
-    61:67:com.android.tools.r8.kotlin.KotlinClassLevelInfo com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,boolean,java.util.function.Consumer):51:51 -> a
-    61:67:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):43 -> a
-    73:84:com.android.tools.r8.kotlin.KotlinClassLevelInfo com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,boolean,java.util.function.Consumer):57:68 -> a
-    73:84:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):43 -> a
-    85:85:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
-    86:86:void lambda$done$0(com.android.tools.r8.graph.DexEncodedMethod):49:49 -> a
-com.android.tools.r8.kotlin.KotlinMetadataRewriter -> com.android.tools.r8.w.K:
+com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension -> com.android.tools.r8.w.M:
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexDefinitionSupplier definitionSupplier -> c
+    1:1:void <clinit>():26:26 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Set):32:34 -> <init>
+    1:51:void done(com.android.tools.r8.shaking.Enqueuer):39:89 -> a
+    52:59:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass) -> a
+    60:82:com.android.tools.r8.kotlin.KotlinClassLevelInfo com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,java.util.function.Consumer):39:61 -> a
+    60:82:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):55 -> a
+    83:89:com.android.tools.r8.kotlin.KotlinClassLevelInfo com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,java.util.function.Consumer):56:62 -> a
+    83:89:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):55 -> a
+    90:96:com.android.tools.r8.kotlin.KotlinClassLevelInfo com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,java.util.function.Consumer):48:48 -> a
+    90:96:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):55 -> a
+    102:113:com.android.tools.r8.kotlin.KotlinClassLevelInfo com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,java.util.function.Consumer):54:65 -> a
+    102:113:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):55 -> a
+    114:124:void lambda$done$1(boolean,com.android.tools.r8.shaking.Enqueuer,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):54:64 -> a
+    125:125:void lambda$done$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):61:61 -> a
+    126:126:void lambda$done$2(java.util.Set,com.android.tools.r8.graph.ProgramMethod):82:82 -> a
+    127:129:void lambda$done$5(com.android.tools.r8.graph.DexProgramClass):91:93 -> a
+    130:133:void lambda$done$5(com.android.tools.r8.graph.DexProgramClass):92:95 -> a
+    134:134:void lambda$done$5(com.android.tools.r8.graph.DexProgramClass):94:94 -> a
+    135:135:java.util.function.Consumer lambda$done$3(com.android.tools.r8.graph.DexEncodedMethod):93:93 -> a
+    136:136:java.util.function.Consumer lambda$done$4(com.android.tools.r8.graph.DexEncodedField):95:95 -> a
+    137:137:boolean verifyKotlinMetadataModeledForAllClasses(com.android.tools.r8.shaking.Enqueuer,boolean):101:101 -> a
+    138:138:void lambda$verifyKotlinMetadataModeledForAllClasses$6(boolean,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):104:104 -> a
+    139:140:boolean com.android.tools.r8.kotlin.KotlinClassMetadataReader.hasKotlinClassMetadataAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):71:72 -> a
+    139:140:void lambda$verifyKotlinMetadataModeledForAllClasses$6(boolean,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):104 -> a
+    141:145:void lambda$verifyKotlinMetadataModeledForAllClasses$6(boolean,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):104:104 -> a
+com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$1 -> com.android.tools.r8.w.K:
+com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier -> com.android.tools.r8.w.L:
+    com.android.tools.r8.graph.DexDefinitionSupplier baseSupplier -> a
+    java.util.Set prunedTypes -> b
+    1:1:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Set,com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$1):112:112 -> <init>
+    2:4:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Set):118:120 -> <init>
+    1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):133:136 -> definitionFor
+    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():146:146 -> dexItemFactory
+com.android.tools.r8.kotlin.KotlinMetadataRewriter -> com.android.tools.r8.w.N:
     com.android.tools.r8.graph.DexItemFactory factory -> c
     com.android.tools.r8.graph.AppView appView -> a
     com.android.tools.r8.naming.NamingLens lens -> b
@@ -56707,312 +56794,329 @@
     88:94:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String):104:110 -> a
     95:99:com.android.tools.r8.graph.DexValue$DexValueArray createIntArray(int[]):114:118 -> a
     100:104:com.android.tools.r8.graph.DexValue$DexValueArray createStringArray(java.lang.String[]):122:126 -> a
-com.android.tools.r8.kotlin.KotlinMetadataUtils -> com.android.tools.r8.w.P:
+com.android.tools.r8.kotlin.KotlinMetadataUtils -> com.android.tools.r8.w.T:
     com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo NO_KOTLIN_INFO -> a
     com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo INVALID_KOTLIN_INFO -> b
-    1:2:void <clinit>():35:36 -> <clinit>
-    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):69:76 -> a
-    9:14:java.lang.String toRenamedDescriptorOrDefault(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,java.lang.String):145:150 -> a
-    15:15:com.android.tools.r8.graph.DexType referenceTypeFromBinaryName(java.lang.String,com.android.tools.r8.graph.DexDefinitionSupplier):162:162 -> a
-    16:19:com.android.tools.r8.graph.DexType referenceTypeFromDescriptor(java.lang.String,com.android.tools.r8.graph.DexDefinitionSupplier):167:170 -> a
-    16:19:com.android.tools.r8.graph.DexType referenceTypeFromBinaryName(java.lang.String,com.android.tools.r8.graph.DexDefinitionSupplier):161 -> a
-    20:28:boolean mayProcessKotlinMetadata(com.android.tools.r8.graph.AppView):180:188 -> a
-    29:46:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):198:215 -> a
-com.android.tools.r8.kotlin.KotlinMetadataUtils$1 -> com.android.tools.r8.w.L:
-com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor -> com.android.tools.r8.w.O:
+    1:2:void <clinit>():34:35 -> <clinit>
+    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):78:85 -> a
+    9:11:boolean isValidMethodDescriptor(java.lang.String):137:139 -> a
+    12:20:boolean mayProcessKotlinMetadata(com.android.tools.r8.graph.AppView):154:162 -> a
+    21:38:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):172:189 -> a
+com.android.tools.r8.kotlin.KotlinMetadataUtils$1 -> com.android.tools.r8.w.O:
+com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor -> com.android.tools.r8.w.S:
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature fieldSignature -> a
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getterSignature -> b
     com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature setterSignature -> c
-    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):86:86 -> <init>
-    2:9:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):80:87 -> <init>
-    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature access$100(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):79:79 -> a
-    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature access$102(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature):79:79 -> a
-    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$202(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):79:79 -> a
-    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature fieldSignature():114:114 -> a
-    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$200(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):79:79 -> b
-    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$302(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):79:79 -> b
-    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getterSignature():118:118 -> b
-    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$300(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):79:79 -> c
-    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature setterSignature():122:122 -> c
-com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 -> com.android.tools.r8.w.N:
+    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):95:95 -> <init>
+    2:9:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):89:96 -> <init>
+    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature access$100(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):88:88 -> a
+    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature access$102(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature):88:88 -> a
+    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$202(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):88:88 -> a
+    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature fieldSignature():123:123 -> a
+    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$200(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):88:88 -> b
+    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$302(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):88:88 -> b
+    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getterSignature():127:127 -> b
+    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$300(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):88:88 -> c
+    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature setterSignature():131:131 -> c
+com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 -> com.android.tools.r8.w.Q:
     com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor this$0 -> b
-    1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):88:88 -> <init>
-    1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):91:94 -> a
-com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1$1 -> com.android.tools.r8.w.M:
-    com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 this$1 -> c
-    boolean $assertionsDisabled -> d
-    1:1:void <clinit>():94:94 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1):94:94 -> <init>
-    1:6:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):101:106 -> a
-com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo -> com.android.tools.r8.w.P$a:
+    1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):97:97 -> <init>
+    1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):100:103 -> a
+com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1$1 -> com.android.tools.r8.w.P:
+    com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 this$1 -> d
+    boolean $assertionsDisabled -> c
+    1:1:void <clinit>():103:103 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1):103:103 -> <init>
+    1:6:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):110:115 -> a
+com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo -> com.android.tools.r8.w.T$a:
     java.lang.String name -> a
-    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinMetadataUtils$1):38:38 -> <init>
-    2:3:void <init>(java.lang.String):43:44 -> <init>
-    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):55:55 -> a
-    1:1:java.lang.String getPackageName():60:60 -> g
-    1:1:java.lang.String toString():49:49 -> toString
-com.android.tools.r8.kotlin.KotlinMetadataWriter -> com.android.tools.r8.w.Q:
+    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinMetadataUtils$1):37:37 -> <init>
+    2:3:void <init>(java.lang.String):42:43 -> <init>
+    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):54:54 -> a
+    1:1:java.lang.String getPackageName():59:59 -> g
+    boolean isNoKotlinInformation() -> j
+    1:1:java.lang.String toString():48:48 -> toString
+com.android.tools.r8.kotlin.KotlinMetadataWriter -> com.android.tools.r8.w.U:
     boolean $assertionsDisabled -> a
-    1:1:void <clinit>():41:41 -> <clinit>
+    1:1:void <clinit>():42:42 -> <clinit>
     1:53:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):0:52 -> a
-    1:53:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):291 -> a
-    54:54:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):291:291 -> a
-    55:55:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):287:287 -> a
-    56:60:void writeKotlinMetadataAnnotation(java.lang.String,com.android.tools.r8.graph.DexAnnotation,java.io.PrintStream,com.android.tools.r8.kotlin.Kotlin):47:51 -> a
-    61:68:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):57:64 -> a
-    69:71:java.lang.String kotlinMultiFileClassFacadeMetadataString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade,java.lang.String):105:107 -> a
-    69:71:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):64 -> a
-    72:79:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):66:73 -> a
-    80:88:java.lang.String kotlinClassMetadataToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String):79:87 -> a
-    89:89:void lambda$kotlinClassMetadataToString$0(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String):85:85 -> a
-    90:98:java.lang.String kotlinFileFacadeMetadataToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String):92:100 -> a
-    99:99:void lambda$kotlinFileFacadeMetadataToString$1(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String):98:98 -> a
-    100:110:java.lang.String kotlinMultiFileClassPartToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):113:123 -> a
-    111:134:java.lang.String kotlinSyntheticClassToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String):128:151 -> a
-    135:148:void lambda$kotlinSyntheticClassToString$4(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.StringBuilder,java.lang.String) -> a
-    149:149:void lambda$kotlinSyntheticClassToString$3(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,java.lang.String):142:142 -> a
-    150:154:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.List,java.util.function.BiConsumer):178:182 -> a
-    155:158:void appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):156:159 -> a
-    155:158:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.List,java.util.function.BiConsumer):182 -> a
-    159:162:void lambda$appendKmList$6(java.util.List,java.lang.StringBuilder,java.lang.String,java.util.function.BiConsumer):186:189 -> a
-    163:164:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):198:199 -> a
-    165:168:void appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):156:159 -> a
-    165:168:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):199 -> a
-    169:169:void lambda$appendKeyValue$7(java.util.function.Consumer,java.lang.String):199:199 -> a
-    170:171:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):203:204 -> a
-    172:175:void appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):156:159 -> a
-    172:175:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):204 -> a
-    176:176:void lambda$appendKeyValue$8(java.lang.StringBuilder,java.lang.String):204:204 -> a
-    177:229:void appendKmDeclarationContainer(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer):209:261 -> a
-    230:232:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):218:220 -> a
-    233:236:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):219:222 -> a
-    237:237:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):214:214 -> a
-    238:238:java.lang.String lambda$appendKmDeclarationContainer$9(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):221:221 -> a
-    239:239:void lambda$appendKmDeclarationContainer$10(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):224:224 -> a
-    240:253:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):241:254 -> a
+    1:53:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):292 -> a
+    54:54:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):292:292 -> a
+    55:55:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):288:288 -> a
+    56:60:void writeKotlinMetadataAnnotation(java.lang.String,com.android.tools.r8.graph.DexAnnotation,java.io.PrintStream,com.android.tools.r8.kotlin.Kotlin):48:52 -> a
+    61:68:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):58:65 -> a
+    69:71:java.lang.String kotlinMultiFileClassFacadeMetadataString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade,java.lang.String):106:108 -> a
+    69:71:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):65 -> a
+    72:79:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):67:74 -> a
+    80:88:java.lang.String kotlinClassMetadataToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String) -> a
+    89:89:void lambda$kotlinClassMetadataToString$0(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String):86:86 -> a
+    90:98:java.lang.String kotlinFileFacadeMetadataToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String):93:101 -> a
+    99:99:void lambda$kotlinFileFacadeMetadataToString$1(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String) -> a
+    100:110:java.lang.String kotlinMultiFileClassPartToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):114:124 -> a
+    111:134:java.lang.String kotlinSyntheticClassToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String):129:152 -> a
+    135:148:void lambda$kotlinSyntheticClassToString$4(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.StringBuilder,java.lang.String):136:149 -> a
+    149:149:void lambda$kotlinSyntheticClassToString$3(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,java.lang.String):143:143 -> a
+    150:154:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.List,java.util.function.BiConsumer):179:183 -> a
+    155:158:void appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):157:160 -> a
+    155:158:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.List,java.util.function.BiConsumer):183 -> a
+    159:162:void lambda$appendKmList$6(java.util.List,java.lang.StringBuilder,java.lang.String,java.util.function.BiConsumer):187:190 -> a
+    163:164:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):199:200 -> a
+    165:168:void appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):157:160 -> a
+    165:168:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):200 -> a
+    169:169:void lambda$appendKeyValue$7(java.util.function.Consumer,java.lang.String):200:200 -> a
+    170:171:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):204:205 -> a
+    172:175:void appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):157:160 -> a
+    172:175:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):205 -> a
+    176:176:void lambda$appendKeyValue$8(java.lang.StringBuilder,java.lang.String):205:205 -> a
+    177:229:void appendKmDeclarationContainer(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer):210:262 -> a
+    230:232:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):219:221 -> a
+    233:236:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):220:223 -> a
+    237:237:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):215:215 -> a
+    238:238:java.lang.String lambda$appendKmDeclarationContainer$9(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):222:222 -> a
+    239:239:void lambda$appendKmDeclarationContainer$10(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):225:225 -> a
+    240:253:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):242:255 -> a
     254:254:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart.getFacadeClassName():271:271 -> a
-    254:254:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):120 -> a
-    255:257:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):119:121 -> a
-    258:258:void lambda$appendKmDeclarationContainer$15(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias):274:274 -> a
-    259:259:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):280:280 -> a
+    254:254:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):121 -> a
+    255:257:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):120:122 -> a
+    258:258:void lambda$appendKmDeclarationContainer$15(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias):275:275 -> a
+    259:259:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):281:281 -> a
     260:318:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):0:58 -> a
-    260:318:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):281 -> a
-    319:320:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):281:282 -> a
-    321:346:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):299:324 -> a
-    347:355:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):323:331 -> a
-    356:362:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):327:333 -> a
-    363:363:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):332:332 -> a
+    260:318:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):282 -> a
+    319:320:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):282:283 -> a
+    321:346:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):300:325 -> a
+    347:355:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):324:332 -> a
+    356:362:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):328:334 -> a
+    363:363:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):333:333 -> a
     364:401:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:37 -> a
-    364:401:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):338 -> a
-    402:402:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):334:334 -> a
+    364:401:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):339 -> a
+    402:402:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):335:335 -> a
     403:430:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:27 -> a
-    403:430:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):339 -> a
-    431:464:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):339:372 -> a
-    465:465:void lambda$appendKmClass$19(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):306:306 -> a
-    466:466:void lambda$appendKmClass$20(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):319:319 -> a
-    467:467:void lambda$appendKmClass$22(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):351:351 -> a
-    468:468:java.lang.String lambda$appendKmClass$24(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):366:366 -> a
-    469:469:void lambda$appendKmClass$25(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):369:369 -> a
-    470:470:void appendKmConstructor(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):377:377 -> a
-    471:471:void lambda$appendKmConstructor$27(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):388:388 -> a
-    472:472:void appendKmFunction(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):396:396 -> a
-    473:473:void lambda$appendKmFunction$29(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):407:407 -> a
-    474:474:void appendKmProperty(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):435:435 -> a
-    475:475:void lambda$appendKmProperty$34(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):446:446 -> a
-    476:479:void appendKmType(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):495:498 -> a
-    480:480:void lambda$appendKmType$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):514:514 -> a
-    481:481:void lambda$appendKmType$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):510:510 -> a
-    482:482:void lambda$appendKmType$39(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection):516:516 -> a
-    483:483:void lambda$appendKmType$41(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):523:523 -> a
-    484:484:void lambda$appendKmType$45(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):536:536 -> a
-    485:485:void lambda$appendKmType$43(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):552:552 -> a
-    486:486:void lambda$appendKmType$43(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):551:551 -> a
-    487:487:void lambda$appendKmType$46(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):568:568 -> a
-    488:488:void appendKmTypeProjection(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection):576:576 -> a
-    489:489:void lambda$appendKmTypeProjection$49(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,java.lang.String):586:586 -> a
-    490:490:void lambda$appendValueParameters$51(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter):602:602 -> a
-    491:494:void appendValueParameter(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter):609:612 -> a
-    495:495:void lambda$appendValueParameter$52(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):624:624 -> a
-    496:496:void appendTypeParameters(java.lang.String,java.lang.StringBuilder,java.util.List):638:638 -> a
-    497:497:void lambda$appendTypeParameters$55(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):644:644 -> a
-    498:498:void appendTypeParameter(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):650:650 -> a
-    499:499:void lambda$appendTypeParameter$57(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):668:668 -> a
-    500:500:void lambda$appendTypeParameter$57(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):664:664 -> a
-    501:501:void appendTypeAlias(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias):691:691 -> a
-    502:502:void lambda$appendTypeAlias$62(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):705:705 -> a
-    503:503:void lambda$appendTypeAlias$62(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):701:701 -> a
-    504:504:void appendKmAnnotation(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):738:738 -> a
-    505:506:void lambda$appendKmAnnotation$68(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,java.lang.String):743:744 -> a
-    507:509:void lambda$appendKmAnnotation$67(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,java.lang.StringBuilder,java.lang.String):749:751 -> a
+    403:430:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):340 -> a
+    431:465:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):340:374 -> a
+    466:466:void lambda$appendKmClass$19(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):307:307 -> a
+    467:467:void lambda$appendKmClass$20(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):320:320 -> a
+    468:468:void lambda$appendKmClass$22(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):352:352 -> a
+    469:469:java.lang.String lambda$appendKmClass$24(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):368:368 -> a
+    470:470:void lambda$appendKmClass$25(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):371:371 -> a
+    471:471:void appendKmConstructor(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):379:379 -> a
+    472:472:void lambda$appendKmConstructor$27(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):390:390 -> a
+    473:473:void appendKmFunction(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):399:399 -> a
+    474:474:void lambda$appendKmFunction$29(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):410:410 -> a
+    475:475:void appendKmProperty(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):439:439 -> a
+    476:476:void lambda$appendKmProperty$34(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):450:450 -> a
+    477:480:void appendKmType(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):500:503 -> a
+    481:481:void lambda$appendKmType$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):519:519 -> a
+    482:482:void lambda$appendKmType$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):515:515 -> a
+    483:483:void lambda$appendKmType$39(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection):521:521 -> a
+    484:484:void lambda$appendKmType$41(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):528:528 -> a
+    485:485:void lambda$appendKmType$45(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):541:541 -> a
+    486:486:void lambda$appendKmType$43(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):557:557 -> a
+    487:487:void lambda$appendKmType$43(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):556:556 -> a
+    488:488:void lambda$appendKmType$46(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):573:573 -> a
+    489:489:void appendKmTypeProjection(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection):581:581 -> a
+    490:490:void lambda$appendKmTypeProjection$49(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,java.lang.String):591:591 -> a
+    491:491:void lambda$appendValueParameters$51(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter):607:607 -> a
+    492:495:void appendValueParameter(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter):614:617 -> a
+    496:496:void lambda$appendValueParameter$52(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):629:629 -> a
+    497:497:void lambda$appendTypeParameters$55(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):649:649 -> a
+    498:498:void appendTypeParameter(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):655:655 -> a
+    499:499:void lambda$appendTypeParameter$57(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):673:673 -> a
+    500:500:void lambda$appendTypeParameter$57(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):669:669 -> a
+    501:501:void appendTypeAlias(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias):696:696 -> a
+    502:502:void lambda$appendTypeAlias$62(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):710:710 -> a
+    503:503:void lambda$appendTypeAlias$62(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):706:706 -> a
+    504:504:void appendKmAnnotation(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):744:744 -> a
+    505:506:void lambda$appendKmAnnotation$68(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,java.lang.String):749:750 -> a
+    507:509:void lambda$appendKmAnnotation$67(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,java.lang.StringBuilder,java.lang.String):755:757 -> a
+    510:510:void appendKmVersionRequirement(java.lang.String,java.lang.StringBuilder,java.util.List):765:765 -> a
+    511:511:void lambda$appendKmVersionRequirement$71(java.lang.StringBuilder,java.util.List,java.lang.String):770:770 -> a
+    512:512:void lambda$appendKmVersionRequirement$70(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement):776:776 -> a
+    513:515:void lambda$appendKmVersionRequirement$69(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):781:783 -> a
+    516:524:void lambda$appendKmVersionRequirement$69(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):782:790 -> a
+    525:533:void lambda$appendKmVersionRequirement$69(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):784:792 -> a
+    534:534:void lambda$appendKmVersionRequirement$69(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):791:791 -> a
+    535:535:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():727:727 -> a
+    535:535:void lambda$appendKmVersionRequirement$69(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):797 -> a
+    536:536:void lambda$appendKmVersionRequirement$69(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):797:797 -> a
+    537:537:void lambda$appendKmVersionRequirement$69(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):793:793 -> a
+    538:538:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():727:727 -> a
+    538:538:void lambda$appendKmVersionRequirement$69(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):797 -> a
     1:1:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):0:0 -> b
-    1:1:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):682 -> b
+    1:1:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):687 -> b
     2:30:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):0:28 -> b
     2:30:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):152 -> b
-    2:30:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):682 -> b
+    2:30:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):687 -> b
     31:31:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):152:152 -> b
-    31:31:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):682 -> b
-    32:32:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):682:682 -> b
-    33:33:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):678:678 -> b
-    34:34:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):164:164 -> b
-    35:38:void appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):156:159 -> b
-    35:38:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):164 -> b
-    39:39:void lambda$appendKmSection$5(java.util.function.Consumer,java.lang.String):167:167 -> b
-    40:42:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):236:238 -> b
-    43:62:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):237:256 -> b
-    63:63:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):232:232 -> b
-    64:64:void lambda$appendKmDeclarationContainer$13(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):258:258 -> b
-    65:65:void lambda$appendKmClass$21(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):317:317 -> b
-    66:66:void lambda$appendKmClass$21(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):313:313 -> b
-    67:76:void lambda$appendKmConstructor$28(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):382:391 -> b
-    77:77:void lambda$appendKmConstructor$28(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):390:390 -> b
-    78:78:void lambda$appendKmFunction$30(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):412:412 -> b
-    79:79:void lambda$appendKmProperty$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):451:451 -> b
-    80:80:void lambda$appendKmType$42(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):528:528 -> b
-    81:81:void lambda$appendKmType$44(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):545:545 -> b
-    82:87:void lambda$appendKmType$44(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):541:546 -> b
-    88:88:void lambda$appendKmType$47(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):566:566 -> b
-    89:89:void lambda$appendKmType$47(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):562:562 -> b
-    90:98:void lambda$appendKmTypeProjection$50(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,java.lang.String):581:589 -> b
-    99:99:void appendValueParameters(java.lang.String,java.lang.StringBuilder,java.util.List):596:596 -> b
-    100:100:void lambda$appendValueParameter$53(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):631:631 -> b
-    101:101:void lambda$appendTypeParameter$56(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):670:670 -> b
-    102:102:void lambda$appendTypeAlias$61(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):707:707 -> b
-    103:103:void lambda$appendTypeAlias$63(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):715:715 -> b
+    31:31:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):687 -> b
+    32:32:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):687:687 -> b
+    33:33:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):683:683 -> b
+    34:34:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):165:165 -> b
+    35:38:void appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):157:160 -> b
+    35:38:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):165 -> b
+    39:39:void lambda$appendKmSection$5(java.util.function.Consumer,java.lang.String):168:168 -> b
+    40:42:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):237:239 -> b
+    43:62:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):238:257 -> b
+    63:63:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):233:233 -> b
+    64:64:void lambda$appendKmDeclarationContainer$13(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):259:259 -> b
+    65:65:void lambda$appendKmClass$21(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):318:318 -> b
+    66:66:void lambda$appendKmClass$21(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):314:314 -> b
+    67:76:void lambda$appendKmConstructor$28(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):384:393 -> b
+    77:79:void lambda$appendKmConstructor$28(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):392:394 -> b
+    80:80:void lambda$appendKmFunction$30(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):415:415 -> b
+    81:81:void lambda$appendKmProperty$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):455:455 -> b
+    82:82:void lambda$appendKmType$42(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):533:533 -> b
+    83:83:void lambda$appendKmType$44(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):550:550 -> b
+    84:89:void lambda$appendKmType$44(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):546:551 -> b
+    90:90:void lambda$appendKmType$47(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):571:571 -> b
+    91:91:void lambda$appendKmType$47(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):567:567 -> b
+    92:100:void lambda$appendKmTypeProjection$50(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,java.lang.String):586:594 -> b
+    101:101:void lambda$appendValueParameter$53(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):636:636 -> b
+    102:102:void appendTypeParameters(java.lang.String,java.lang.StringBuilder,java.util.List):643:643 -> b
+    103:103:void lambda$appendTypeParameter$56(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):675:675 -> b
+    104:104:void lambda$appendTypeAlias$61(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):712:712 -> b
+    105:105:void lambda$appendTypeAlias$63(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):720:720 -> b
     1:22:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:21 -> c
-    1:22:void lambda$appendKmClass$23(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):349 -> c
-    23:23:void lambda$appendKmClass$23(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):349:349 -> c
-    24:24:void lambda$appendKmClass$23(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):345:345 -> c
-    25:27:void lambda$appendKmDeclarationContainer$16(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):270:272 -> c
-    28:28:void lambda$appendKmDeclarationContainer$16(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):266:266 -> c
-    29:29:void lambda$appendKmPackage$17(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):293:293 -> c
-    30:30:void lambda$appendKmFunction$31(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):417:417 -> c
-    31:31:void lambda$appendKmProperty$36(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):456:456 -> c
-    32:86:void lambda$appendKmType$48(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):503:557 -> c
-    87:96:void lambda$appendValueParameter$54(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):617:626 -> c
-    97:115:void lambda$appendTypeParameter$60(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):655:673 -> c
-    116:116:void lambda$appendTypeParameter$58(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):684:684 -> c
-    117:117:void lambda$appendTypeAlias$64(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):724:724 -> c
-    1:3:void lambda$appendKmClass$26(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):363:365 -> d
-    4:7:void lambda$appendKmClass$26(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):364:367 -> d
-    8:8:void lambda$appendKmClass$26(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):359:359 -> d
-    9:9:void lambda$appendKmFunction$32(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):422:422 -> d
-    10:10:void lambda$appendKmProperty$37(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):463:463 -> d
-    11:11:void lambda$appendTypeAlias$65(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):731:731 -> d
-    1:25:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):401:425 -> e
-    26:26:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):424:424 -> e
-    27:27:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:0 -> e
-    27:27:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):430 -> e
-    28:47:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:19 -> e
-    28:47:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):79 -> e
-    28:47:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):430 -> e
-    48:48:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):79:79 -> e
-    48:48:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):430 -> e
-    49:49:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):426:426 -> e
-    50:74:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):440:464 -> e
-    75:163:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:88 -> e
-    75:163:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):464 -> e
-    164:170:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):464:470 -> e
-    171:181:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):466:476 -> e
-    182:192:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):472:482 -> e
-    193:193:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):478:478 -> e
-    194:326:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:132 -> e
-    194:326:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):484 -> e
-    327:327:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):489:489 -> e
-    328:328:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):485:485 -> e
-    329:359:void lambda$appendTypeAlias$66(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):696:726 -> e
-com.android.tools.r8.kotlin.KotlinMethodLevelInfo -> com.android.tools.r8.w.S:
+    1:22:void lambda$appendKmClass$23(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):350 -> c
+    23:23:void lambda$appendKmClass$23(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):350:350 -> c
+    24:24:void lambda$appendKmClass$23(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):346:346 -> c
+    25:27:void lambda$appendKmDeclarationContainer$16(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):271:273 -> c
+    28:28:void lambda$appendKmDeclarationContainer$16(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):267:267 -> c
+    29:29:void lambda$appendKmPackage$17(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):294:294 -> c
+    30:30:void lambda$appendKmFunction$31(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):420:420 -> c
+    31:31:void lambda$appendKmProperty$36(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):460:460 -> c
+    32:86:void lambda$appendKmType$48(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):508:562 -> c
+    87:87:void appendValueParameters(java.lang.String,java.lang.StringBuilder,java.util.List):601:601 -> c
+    88:97:void lambda$appendValueParameter$54(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):622:631 -> c
+    98:116:void lambda$appendTypeParameter$60(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):660:678 -> c
+    117:117:void lambda$appendTypeParameter$58(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):689:689 -> c
+    118:118:void lambda$appendTypeAlias$64(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):729:729 -> c
+    1:3:void lambda$appendKmClass$26(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):365:367 -> d
+    4:7:void lambda$appendKmClass$26(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):366:369 -> d
+    8:8:void lambda$appendKmClass$26(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):361:361 -> d
+    9:9:void lambda$appendKmFunction$32(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):425:425 -> d
+    10:10:void lambda$appendKmProperty$37(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):467:467 -> d
+    11:11:void lambda$appendTypeAlias$65(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):736:736 -> d
+    1:26:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):404:429 -> e
+    27:27:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):428:428 -> e
+    28:28:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:0 -> e
+    28:28:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):434 -> e
+    29:48:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:19 -> e
+    29:48:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):79 -> e
+    29:48:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):434 -> e
+    49:49:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):79:79 -> e
+    49:49:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):434 -> e
+    50:50:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):430:430 -> e
+    51:76:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):444:469 -> e
+    77:165:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:88 -> e
+    77:165:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):469 -> e
+    166:172:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):469:475 -> e
+    173:183:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):471:481 -> e
+    184:194:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):477:487 -> e
+    195:195:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):483:483 -> e
+    196:328:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:132 -> e
+    196:328:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):489 -> e
+    329:329:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):494:494 -> e
+    330:330:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):490:490 -> e
+    331:368:void lambda$appendTypeAlias$66(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):701:738 -> e
+com.android.tools.r8.kotlin.KotlinMethodLevelInfo -> com.android.tools.r8.w.V:
     com.android.tools.r8.kotlin.KotlinFunctionInfo asFunction() -> a
     com.android.tools.r8.kotlin.KotlinConstructorInfo asConstructor() -> c
     boolean isFunction() -> d
     com.android.tools.r8.kotlin.KotlinPropertyInfo asProperty() -> h
-    boolean isConstructor() -> l
-com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo -> com.android.tools.r8.w.T:
+    boolean isConstructor() -> m
+com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo -> com.android.tools.r8.w.W:
     java.util.List partClassNames -> a
     java.lang.String packageName -> b
-    1:3:void <init>(java.util.List,java.lang.String):28:30 -> <init>
-    1:7:com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade,java.lang.String,com.android.tools.r8.graph.DexDefinitionSupplier):37:43 -> a
-    8:13:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):61:66 -> a
-    14:15:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int[],int,int,java.lang.Object):241:242 -> a
-    14:15:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
-    14:15:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):69 -> a
-    16:380:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int[],int):0:364 -> a
-    16:380:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int[],int,int,java.lang.Object):243 -> a
-    16:380:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
-    16:380:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):69 -> a
-    381:381:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int[],int):247:247 -> a
-    381:381:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int[],int,int,java.lang.Object):243 -> a
-    381:381:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
-    381:381:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):69 -> a
-    382:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int[],int):245:249 -> a
-    382:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int[],int,int,java.lang.Object):243 -> a
-    382:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
-    382:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):69 -> a
-    387:387:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):69:69 -> a
-    388:388:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int[],int):364:364 -> a
-    388:388:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int[],int,int,java.lang.Object):243 -> a
-    388:388:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
-    388:388:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):69 -> a
-    1:1:java.lang.String getPackageName():74:74 -> g
-com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo -> com.android.tools.r8.w.U:
+    1:3:void <init>(java.util.List,java.lang.String):29:31 -> <init>
+    1:5:com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade,java.lang.String,com.android.tools.r8.graph.DexItemFactory):36:40 -> a
+    6:10:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):58:62 -> a
+    11:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int[],int,int,java.lang.Object):241:242 -> a
+    11:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
+    11:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65 -> a
+    13:377:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int[],int):0:364 -> a
+    13:377:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int[],int,int,java.lang.Object):243 -> a
+    13:377:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
+    13:377:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65 -> a
+    378:378:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int[],int):247:247 -> a
+    378:378:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int[],int,int,java.lang.Object):243 -> a
+    378:378:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
+    378:378:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65 -> a
+    379:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int[],int):245:249 -> a
+    379:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int[],int,int,java.lang.Object):243 -> a
+    379:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
+    379:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65 -> a
+    384:384:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65:65 -> a
+    385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int[],int):364:364 -> a
+    385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int[],int,int,java.lang.Object):243 -> a
+    385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
+    385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65 -> a
+    386:386:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeReference):75:75 -> a
+    1:1:java.lang.String getPackageName():70:70 -> g
+    1:1:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):75:75 -> trace
+com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo -> com.android.tools.r8.w.X:
     java.lang.String facadeClassName -> a
     com.android.tools.r8.kotlin.KotlinPackageInfo packageInfo -> b
     java.lang.String packageName -> c
-    1:4:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinPackageInfo,java.lang.String):28:31 -> <init>
-    1:1:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):41:41 -> a
+    1:4:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinPackageInfo,java.lang.String):30:33 -> <init>
+    1:1:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):43:43 -> a
     2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart.getFacadeClassName():271:271 -> a
-    2:2:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):42 -> a
-    3:3:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):44:44 -> a
-    4:4:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):43:43 -> a
-    5:10:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):61:66 -> a
-    1:1:java.lang.String getPackageName():71:71 -> g
-com.android.tools.r8.kotlin.KotlinPackageInfo -> com.android.tools.r8.w.V:
+    2:2:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):44 -> a
+    3:3:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):45:45 -> a
+    4:9:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):62:67 -> a
+    1:1:java.lang.String getPackageName():72:72 -> g
+    1:1:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):77:77 -> trace
+com.android.tools.r8.kotlin.KotlinPackageInfo -> com.android.tools.r8.w.Y:
     com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo containerInfo -> b
     java.lang.String moduleName -> a
-    1:3:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo):30:32 -> <init>
-    1:3:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):41:43 -> a
-    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.kotlin.KotlinMetadataUtils.toJvmFieldSignature(com.android.tools.r8.graph.DexField):65:65 -> a
-    4:4:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):43 -> a
-    5:11:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):43:49 -> a
+    1:3:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo):32:34 -> <init>
+    1:3:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):43:45 -> a
+    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.kotlin.KotlinMetadataUtils.toJvmFieldSignature(com.android.tools.r8.graph.DexField):74:74 -> a
+    4:4:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):45 -> a
+    5:11:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):45:51 -> a
     12:70:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):0:58 -> a
-    12:70:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):50 -> a
-    71:71:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):51:51 -> a
-    72:79:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):60:67 -> a
+    12:70:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):52 -> a
+    71:71:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer):53:53 -> a
+    72:79:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):62:69 -> a
     80:140:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):0:60 -> a
-    80:140:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):67 -> a
-com.android.tools.r8.kotlin.KotlinPropertyInfo -> com.android.tools.r8.w.W:
-    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo setterSignature -> l
-    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo syntheticMethodForAnnotations -> m
-    int jvmFlags -> i
-    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo getterSignature -> k
+    80:140:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):69 -> a
+    1:1:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):74:74 -> trace
+com.android.tools.r8.kotlin.KotlinPropertyInfo -> com.android.tools.r8.w.Z:
+    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo syntheticMethodForAnnotations -> n
+    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> i
+    int jvmFlags -> j
+    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo getterSignature -> l
+    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo setterSignature -> m
     com.android.tools.r8.kotlin.KotlinValueParameterInfo setterParameter -> g
     int getterFlags -> b
     int setterFlags -> c
     int flags -> a
     com.android.tools.r8.kotlin.KotlinTypeInfo returnType -> e
+    com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo fieldSignature -> k
     java.util.List typeParameters -> h
-    com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo fieldSignature -> j
     com.android.tools.r8.kotlin.KotlinTypeInfo receiverParameterType -> f
     java.lang.String name -> d
-    1:14:void <init>(int,int,int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinValueParameterInfo,java.util.List,int,com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo):67:80 -> <init>
-    1:9:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):85:93 -> a
-    10:13:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):92:95 -> a
-    14:14:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):94:94 -> a
-    15:103:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:88 -> a
-    15:103:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):96 -> a
-    104:104:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):98:98 -> a
-    105:108:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):97:100 -> a
-    109:112:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):99:102 -> a
-    113:113:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):101:101 -> a
-    114:246:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:132 -> a
-    114:246:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):104 -> a
-    247:247:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):103:103 -> a
-    248:269:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):135:156 -> a
-    270:277:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):152:159 -> a
-    278:278:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):158:158 -> a
+    1:15:void <init>(int,int,int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinValueParameterInfo,java.util.List,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo,int,com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo):73:87 -> <init>
+    1:10:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):92:101 -> a
+    11:99:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:88 -> a
+    11:99:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):102 -> a
+    100:102:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):103:105 -> a
+    103:106:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):104:107 -> a
+    107:107:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):106:106 -> a
+    108:240:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:132 -> a
+    108:240:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):109 -> a
+    241:241:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):108:108 -> a
+    242:264:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):140:162 -> a
+    265:272:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):158:165 -> a
+    273:273:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):164:164 -> a
+    274:274:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):181:181 -> a
     com.android.tools.r8.kotlin.KotlinPropertyInfo asFieldProperty() -> b
     com.android.tools.r8.kotlin.KotlinPropertyInfo asProperty() -> h
-    boolean isFieldProperty() -> k
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser -> com.android.tools.r8.w.X:
+    boolean isFieldProperty() -> l
+    1:7:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):172:178 -> trace
+    8:10:void com.android.tools.r8.kotlin.KotlinValueParameterInfo.trace(com.android.tools.r8.graph.DexDefinitionSupplier):84:86 -> trace
+    8:10:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):179 -> trace
+    11:22:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):181:192 -> trace
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser -> com.android.tools.r8.w.a0:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():22:22 -> <clinit>
     1:21:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):113:133 -> a
@@ -57049,11 +57153,11 @@
     2:26:void lambda$parse$1(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$ResultBuilder,java.util.List):160 -> b
     27:34:void addDebugEntryToBuilder(java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$ResultBuilder):239:246 -> b
     27:34:void lambda$parse$1(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$ResultBuilder,java.util.List):160 -> b
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$1 -> com.android.tools.r8.w.X$a:
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader -> com.android.tools.r8.w.X$b:
-    java.io.BufferedReader reader -> a
-    java.lang.String readLine -> b
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$1 -> com.android.tools.r8.w.a0$a:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader -> com.android.tools.r8.w.a0$b:
+    java.io.BufferedReader reader -> b
+    boolean $assertionsDisabled -> a
+    java.lang.String readLine -> c
     1:1:void <clinit>():38:38 -> <clinit>
     1:2:void <init>(java.lang.String):44:45 -> <init>
     1:1:boolean readExpectedLine(java.lang.String):53:53 -> a
@@ -57064,25 +57168,25 @@
     1:1:java.lang.String readNextLine():49:49 -> b
     2:5:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader readUntil(java.lang.String):69:72 -> b
     1:1:void close():108:108 -> close
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$KotlinSourceDebugExtensionParserException -> com.android.tools.r8.w.X$c:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$KotlinSourceDebugExtensionParserException -> com.android.tools.r8.w.a0$c:
     1:1:void <init>(java.lang.String):34:34 -> <init>
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Position -> com.android.tools.r8.w.X$d:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Position -> com.android.tools.r8.w.a0$d:
     com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source source -> a
     com.android.tools.r8.naming.Range range -> b
     1:3:void <init>(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source,com.android.tools.r8.naming.Range):304:306 -> <init>
     1:1:com.android.tools.r8.naming.Range getRange():314:314 -> a
     1:1:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source getSource():310:310 -> b
     1:10:java.lang.String toString():319:328 -> toString
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result -> com.android.tools.r8.w.X$e:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result -> com.android.tools.r8.w.a0$e:
     com.android.tools.r8.utils.SegmentTree segmentTree -> a
     1:2:void <init>(com.android.tools.r8.utils.SegmentTree):254:255 -> <init>
     1:1:java.util.Map$Entry lookup(int):259:259 -> a
     2:2:int size():263:263 -> a
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$ResultBuilder -> com.android.tools.r8.w.X$f:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$ResultBuilder -> com.android.tools.r8.w.a0$f:
     java.util.Map files -> b
     com.android.tools.r8.utils.SegmentTree segmentTree -> a
     1:4:void <init>():267:270 -> <init>
-com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source -> com.android.tools.r8.w.X$g:
+com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source -> com.android.tools.r8.w.a0$g:
     java.lang.String fileName -> a
     java.lang.String path -> b
     1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$1):277:277 -> <init>
@@ -57090,115 +57194,166 @@
     1:1:java.lang.String getFileName():287:287 -> a
     1:1:java.lang.String getPath():291:291 -> b
     1:1:java.lang.String toString():296:296 -> toString
-com.android.tools.r8.kotlin.KotlinSyntheticClassInfo -> com.android.tools.r8.w.Z:
-    com.android.tools.r8.kotlin.KotlinLambdaInfo lambda -> a
-    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour flavour -> c
-    java.lang.String packageName -> b
-    boolean $assertionsDisabled -> d
-    1:1:void <clinit>():20:20 -> <clinit>
-    1:4:void <init>(com.android.tools.r8.kotlin.KotlinLambdaInfo,com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour,java.lang.String):33:36 -> <init>
+com.android.tools.r8.kotlin.KotlinSyntheticClassInfo -> com.android.tools.r8.w.c0:
+    com.android.tools.r8.kotlin.KotlinLambdaInfo lambda -> b
+    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour flavour -> d
+    boolean $assertionsDisabled -> a
+    java.lang.String packageName -> c
+    1:1:void <clinit>():21:21 -> <clinit>
+    1:4:void <init>(com.android.tools.r8.kotlin.KotlinLambdaInfo,com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour,java.lang.String):34:37 -> <init>
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda) -> a
-    1:7:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):47:53 -> a
-    8:21:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour getFlavour(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin):105:118 -> a
-    8:21:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):55 -> a
-    22:22:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):55:55 -> a
-    23:23:boolean isJavaStyleLambda():68:68 -> a
-    24:27:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84:87 -> a
-    28:267:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):0:239 -> a
-    28:267:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):88 -> a
-    268:268:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):238:238 -> a
-    268:268:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):88 -> a
-    269:269:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):91:91 -> a
-    1:1:boolean isKotlinStyleLambda():64:64 -> b
-    1:1:boolean isLambda():60:60 -> c
-    1:1:java.lang.String getPackageName():96:96 -> g
+    1:6:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48:53 -> a
+    7:20:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour getFlavour(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin):111:124 -> a
+    7:20:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):54 -> a
+    21:21:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):54:54 -> a
+    22:25:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):83:86 -> a
+    26:265:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):0:239 -> a
+    26:265:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):87 -> a
+    266:266:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):238:238 -> a
+    266:266:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):87 -> a
+    267:267:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):90:90 -> a
+    1:1:java.lang.String getPackageName():102:102 -> g
     boolean isSyntheticClass() -> i
-    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo asSyntheticClass() -> j
-com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour -> com.android.tools.r8.w.Y:
+    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo asSyntheticClass() -> k
+    1:1:boolean isJavaStyleLambda():67:67 -> n
+    1:1:boolean isKotlinStyleLambda():63:63 -> o
+    1:1:boolean isLambda():59:59 -> p
+    1:2:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):95:96 -> trace
+com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour -> com.android.tools.r8.w.b0:
     com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour Unclassified -> c
     com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour JavaStyleLambda -> b
     com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour KotlinStyleLambda -> a
-    1:3:void <clinit>():26:28 -> <clinit>
-    1:1:void <init>(java.lang.String,int):25:25 -> <init>
-com.android.tools.r8.kotlin.KotlinTypeAliasInfo -> com.android.tools.r8.w.a0:
-    java.util.List annotations -> f
-    com.android.tools.r8.kotlin.KotlinTypeInfo expandedType -> d
-    java.util.List typeParameters -> e
-    com.android.tools.r8.kotlin.KotlinTypeInfo underlyingType -> c
-    boolean $assertionsDisabled -> g
-    java.lang.String name -> b
-    int flags -> a
-    1:1:void <clinit>():17:17 -> <clinit>
-    1:9:void <init>(int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List):32:40 -> <init>
-    1:7:com.android.tools.r8.kotlin.KotlinTypeAliasInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):45:51 -> a
-    8:15:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):58:65 -> a
-com.android.tools.r8.kotlin.KotlinTypeInfo -> com.android.tools.r8.w.b0:
-    com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo flexibleTypeUpperBoundInfo -> g
-    java.util.List annotations -> f
-    com.android.tools.r8.kotlin.KotlinTypeInfo outerType -> d
-    java.util.List arguments -> e
-    com.android.tools.r8.kotlin.KotlinClassifierInfo classifier -> b
-    com.android.tools.r8.kotlin.KotlinTypeInfo abbreviatedType -> c
-    java.util.List EMPTY_ARGUMENTS -> h
-    int flags -> a
-    1:1:void <clinit>():23:23 -> <clinit>
-    1:8:void <init>(int,com.android.tools.r8.kotlin.KotlinClassifierInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo):40:47 -> <init>
-    1:9:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):55:63 -> a
-    10:10:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):62:62 -> a
-    11:18:java.util.List getArguments(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):70:77 -> a
-    19:40:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):85:106 -> a
-com.android.tools.r8.kotlin.KotlinTypeParameterInfo -> com.android.tools.r8.w.c0:
-    java.util.List annotations -> f
-    java.util.List originalUpperBounds -> e
-    java.util.List EMPTY_UPPER_BOUNDS -> h
-    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> d
-    java.util.List EMPTY_TYPE_PARAMETERS -> g
-    int id -> b
+    1:3:void <clinit>():27:29 -> <clinit>
+    1:1:void <init>(java.lang.String,int):26:26 -> <init>
+com.android.tools.r8.kotlin.KotlinTypeAliasInfo -> com.android.tools.r8.w.d0:
+    com.android.tools.r8.kotlin.KotlinTypeInfo expandedType -> e
+    java.util.List typeParameters -> f
+    com.android.tools.r8.kotlin.KotlinTypeInfo underlyingType -> d
+    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> h
+    java.util.List annotations -> g
+    boolean $assertionsDisabled -> a
+    int flags -> b
     java.lang.String name -> c
-    int flags -> a
-    1:2:void <clinit>():24:25 -> <clinit>
-    1:7:void <init>(int,int,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,java.util.List,java.util.List):40:46 -> <init>
-    1:5:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):67:71 -> a
-    6:11:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):53:58 -> a
-    6:11:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):72 -> a
-    12:19:java.util.List getUpperBounds(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):79:86 -> a
-    12:19:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):58 -> a
-    12:19:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):72 -> a
+    1:1:void <clinit>():21:21 -> <clinit>
+    1:10:void <init>(int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo):38:47 -> <init>
+    1:8:com.android.tools.r8.kotlin.KotlinTypeAliasInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):52:59 -> a
+    9:18:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):66:75 -> a
+    19:19:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):82:82 -> a
+    20:20:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):83:83 -> a
+    1:4:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):80:83 -> trace
+com.android.tools.r8.kotlin.KotlinTypeInfo -> com.android.tools.r8.w.e0:
+    java.util.List EMPTY_ARGUMENTS -> a
+    com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo flexibleTypeUpperBoundInfo -> h
+    com.android.tools.r8.kotlin.KotlinTypeInfo outerType -> e
+    java.util.List arguments -> f
+    com.android.tools.r8.kotlin.KotlinClassifierInfo classifier -> c
+    com.android.tools.r8.kotlin.KotlinTypeInfo abbreviatedType -> d
+    java.util.List annotations -> g
+    int flags -> b
+    1:1:void <clinit>():27:27 -> <clinit>
+    1:8:void <init>(int,com.android.tools.r8.kotlin.KotlinClassifierInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo):44:51 -> <init>
+    1:9:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):58:66 -> a
+    10:10:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):65:65 -> a
+    11:18:java.util.List getArguments(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):71:78 -> a
+    19:40:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):86:107 -> a
+    41:41:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeProjectionInfo):121:121 -> a
+    42:42:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):123:123 -> a
+    1:10:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):114:123 -> trace
+com.android.tools.r8.kotlin.KotlinTypeParameterInfo -> com.android.tools.r8.w.f0:
+    java.util.List EMPTY_UPPER_BOUNDS -> b
+    java.util.List EMPTY_TYPE_PARAMETERS -> a
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> f
+    int id -> d
+    java.util.List annotations -> h
+    java.util.List originalUpperBounds -> g
+    int flags -> c
+    java.lang.String name -> e
+    1:2:void <clinit>():28:29 -> <clinit>
+    1:7:void <init>(int,int,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,java.util.List,java.util.List):44:50 -> <init>
+    1:5:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):66:70 -> a
+    6:11:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):55:60 -> a
+    6:11:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):71 -> a
+    12:19:java.util.List getUpperBounds(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):78:85 -> a
+    12:19:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):60 -> a
+    12:19:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):71 -> a
     20:20:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):0:0 -> a
-    20:20:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):60 -> a
-    20:20:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):72 -> a
+    20:20:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):61 -> a
+    20:20:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):71 -> a
     21:49:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):0:28 -> a
     21:49:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):152 -> a
-    21:49:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):60 -> a
-    21:49:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):72 -> a
+    21:49:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):61 -> a
+    21:49:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):71 -> a
     50:50:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):152:152 -> a
-    50:50:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):60 -> a
-    50:50:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):72 -> a
-    51:51:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):59:59 -> a
-    51:51:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):72 -> a
-    52:54:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):72:74 -> a
-    55:66:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeParameterVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):93:104 -> a
-com.android.tools.r8.kotlin.KotlinTypeProjectionInfo -> com.android.tools.r8.w.d0:
+    50:50:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):61 -> a
+    50:50:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):71 -> a
+    51:51:com.android.tools.r8.kotlin.KotlinTypeParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):61:61 -> a
+    51:51:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):71 -> a
+    52:54:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):71:73 -> a
+    55:66:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeParameterVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):92:103 -> a
+    67:67:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeInfo):109:109 -> a
+    68:68:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):110:110 -> a
+    1:2:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):109:110 -> trace
+com.android.tools.r8.kotlin.KotlinTypeProjectionInfo -> com.android.tools.r8.w.g0:
     com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> a
     com.android.tools.r8.kotlin.KotlinTypeInfo typeInfo -> b
-    1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.kotlin.KotlinTypeInfo):21:23 -> <init>
-    1:3:com.android.tools.r8.kotlin.KotlinTypeProjectionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):30:32 -> a
+    1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.kotlin.KotlinTypeInfo):23:25 -> <init>
+    1:3:com.android.tools.r8.kotlin.KotlinTypeProjectionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):30:32 -> a
     4:4:boolean isStarProjection():36:36 -> a
     4:4:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeStarProjectionVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):44 -> a
     5:7:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeStarProjectionVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):45:47 -> a
     8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor lambda$rewrite$0(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider,int):47:47 -> a
-com.android.tools.r8.kotlin.KotlinValueParameterInfo -> com.android.tools.r8.w.e0:
-    java.util.List EMPTY_VALUE_PARAMETERS -> e
-    com.android.tools.r8.kotlin.KotlinTypeInfo varargElementType -> d
-    com.android.tools.r8.kotlin.KotlinTypeInfo type -> c
-    java.lang.String name -> a
-    int flags -> b
-    1:1:void <clinit>():20:20 -> <clinit>
-    1:5:void <init>(int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo):31:35 -> <init>
-    1:7:com.android.tools.r8.kotlin.KotlinValueParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):45:51 -> a
-    8:8:com.android.tools.r8.kotlin.KotlinValueParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):50:50 -> a
-    9:16:java.util.List create(java.util.List,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter):58:65 -> a
-    17:20:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):72:75 -> a
+    1:2:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):53:54 -> trace
+com.android.tools.r8.kotlin.KotlinTypeReference -> com.android.tools.r8.w.h0:
+    com.android.tools.r8.graph.DexType known -> b
+    boolean $assertionsDisabled -> a
+    java.lang.String unknown -> c
+    1:1:void <clinit>():22:22 -> <clinit>
+    1:4:void <init>(com.android.tools.r8.graph.DexType):27:30 -> <init>
+    5:8:void <init>(java.lang.String):33:36 -> <init>
+    1:511:boolean com.android.tools.r8.utils.DescriptorUtils.isValidBinaryName(java.lang.String):0:510 -> a
+    1:511:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):40 -> a
+    512:512:boolean com.android.tools.r8.utils.DescriptorUtils.isValidBinaryName(java.lang.String):509:509 -> a
+    512:512:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):40 -> a
+    513:513:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):42:42 -> a
+    514:518:com.android.tools.r8.kotlin.KotlinTypeReference fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):53:57 -> a
+    514:518:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):41 -> a
+    519:519:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):44:44 -> a
+    520:532:java.lang.String toRenamedBinaryNameOrDefault(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,java.lang.String):81:93 -> a
+    1:5:com.android.tools.r8.kotlin.KotlinTypeReference fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):53:57 -> b
+    1:5:com.android.tools.r8.kotlin.KotlinTypeReference fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory):48 -> b
+    6:18:java.lang.String toRenamedDescriptorOrDefault(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,java.lang.String):62:74 -> b
+    1:1:java.lang.String toString():98:98 -> toString
+    1:3:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):103:105 -> trace
+com.android.tools.r8.kotlin.KotlinValueParameterInfo -> com.android.tools.r8.w.i0:
+    java.util.List EMPTY_VALUE_PARAMETERS -> a
+    com.android.tools.r8.kotlin.KotlinTypeInfo varargElementType -> e
+    com.android.tools.r8.kotlin.KotlinTypeInfo type -> d
+    java.lang.String name -> b
+    int flags -> c
+    1:1:void <clinit>():23:23 -> <clinit>
+    1:5:void <init>(int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo):34:38 -> <init>
+    1:6:com.android.tools.r8.kotlin.KotlinValueParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):50:55 -> a
+    7:14:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):60:67 -> a
+    15:18:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):74:77 -> a
+    1:3:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):84:86 -> trace
+com.android.tools.r8.kotlin.KotlinVersionRequirementInfo -> com.android.tools.r8.w.k0:
+    java.util.List versionRequirements -> b
+    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo NO_VERSION_REQUIREMENTS -> a
+    1:2:void <clinit>():17:18 -> <clinit>
+    1:2:void <init>(java.util.List):22:23 -> <init>
+    1:8:com.android.tools.r8.kotlin.KotlinVersionRequirementInfo create(java.util.List):27:34 -> a
+    9:13:void rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmVersionRequirementVisitorProvider):38:42 -> a
+com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint -> com.android.tools.r8.w.j0:
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel level -> c
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind kind -> b
+    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion version -> e
+    java.lang.Integer errorCode -> a
+    java.lang.String message -> d
+    1:6:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion):59:64 -> <init>
+    1:5:com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement):68:72 -> a
+    1:5:com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement):46 -> a
+    6:8:void rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):77:79 -> a
+    6:8:void access$100(com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):46 -> a
 com.android.tools.r8.logging.Log -> com.android.tools.r8.x.a:
     java.util.Set CLASS_FILTER -> b
     boolean ENABLED -> a
@@ -57216,10 +57371,10 @@
     1:2:com.android.tools.r8.naming.ApplyMappingError mapToExistingClass(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):32:33 -> a
     1:2:com.android.tools.r8.naming.ApplyMappingError mapToExistingMember(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):39:40 -> b
 com.android.tools.r8.naming.ClassNameMapper -> com.android.tools.r8.naming.b:
-    java.util.Map signatureMap -> c
-    com.android.tools.r8.utils.BiMapContainer nameMapping -> b
-    com.android.tools.r8.com.google.common.collect.ImmutableMap classNameMappings -> a
-    boolean $assertionsDisabled -> d
+    java.util.Map signatureMap -> d
+    com.android.tools.r8.utils.BiMapContainer nameMapping -> c
+    com.android.tools.r8.com.google.common.collect.ImmutableMap classNameMappings -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():36:36 -> <clinit>
     1:1:void <init>(java.util.Map,com.android.tools.r8.naming.ClassNameMapper$1):36:36 -> <init>
     2:2:void <init>(java.util.Map):107:107 -> <init>
@@ -57303,22 +57458,22 @@
     1:2:void <clinit>():39:40 -> <clinit>
     1:1:void <init>(java.lang.String,int):38:38 -> <init>
 com.android.tools.r8.naming.ClassNameMinifier -> com.android.tools.r8.naming.c:
-    com.android.tools.r8.naming.ClassNameMinifier$Namespace topLevelState -> m
-    boolean allowMixedCaseNaming -> n
-    boolean $assertionsDisabled -> p
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean keepInnerClassStructure -> l
-    java.lang.Iterable classes -> d
-    java.util.Set noObfuscationPrefixes -> g
-    com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy classNamingStrategy -> b
-    java.util.Set usedPackagePrefixes -> h
-    java.util.Set usedTypeNames -> i
-    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode packageObfuscationMode -> e
-    java.util.function.Predicate isUsed -> o
-    com.android.tools.r8.naming.ClassNameMinifier$PackageNamingStrategy packageNamingStrategy -> c
-    boolean isAccessModificationAllowed -> f
-    java.util.Map renaming -> j
-    java.util.Map states -> k
+    boolean keepInnerClassStructure -> m
+    com.android.tools.r8.naming.ClassNameMinifier$Namespace topLevelState -> n
+    boolean allowMixedCaseNaming -> o
+    com.android.tools.r8.graph.AppView appView -> b
+    java.lang.Iterable classes -> e
+    java.util.Set noObfuscationPrefixes -> h
+    com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy classNamingStrategy -> c
+    java.util.Set usedPackagePrefixes -> i
+    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode packageObfuscationMode -> f
+    java.util.Set usedTypeNames -> j
+    java.util.function.Predicate isUsed -> p
+    com.android.tools.r8.naming.ClassNameMinifier$PackageNamingStrategy packageNamingStrategy -> d
+    boolean isAccessModificationAllowed -> g
+    java.util.Map renaming -> k
+    java.util.Map states -> l
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():40:40 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy,com.android.tools.r8.naming.ClassNameMinifier$PackageNamingStrategy,java.lang.Iterable):63:63 -> <init>
     2:39:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy,com.android.tools.r8.naming.ClassNameMinifier$PackageNamingStrategy,java.lang.Iterable):48:85 -> <init>
@@ -57342,7 +57497,7 @@
     85:85:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):207 -> a
     86:93:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):208:215 -> a
     94:100:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):256:262 -> a
-    101:101:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    101:101:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     101:101:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):262 -> a
     102:110:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):263:271 -> a
     111:127:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForOuterClass(com.android.tools.r8.graph.DexType,java.lang.String):336:352 -> a
@@ -57351,7 +57506,7 @@
     131:135:java.lang.String getParentPackagePrefix(java.lang.String):457:461 -> a
     1:1:com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy access$200(com.android.tools.r8.naming.ClassNameMinifier):40:40 -> b
     2:2:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):238:238 -> b
-    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     3:3:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):238 -> b
     4:8:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):247:251 -> b
     9:26:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForPackagePrefix(java.lang.String):313:330 -> b
@@ -57369,7 +57524,7 @@
     10:16:void renameArrayTypeIfNeeded(com.android.tools.r8.graph.DexType):363:369 -> d
     1:1:com.android.tools.r8.naming.ClassNameMinifier$PackageNamingStrategy access$600(com.android.tools.r8.naming.ClassNameMinifier):40:40 -> e
     2:6:void renameDanglingType(com.android.tools.r8.graph.DexType):193:197 -> e
-    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> e
+    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> e
     7:7:void renameDanglingType(com.android.tools.r8.graph.DexType):197 -> e
     8:10:void renameDanglingType(com.android.tools.r8.graph.DexType):197:199 -> e
     11:11:com.android.tools.r8.naming.ClassNameMinifier$Namespace lambda$getStateForPackagePrefix$4(java.lang.String):320:320 -> e
@@ -57385,12 +57540,12 @@
     1:1:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.naming.ClassNameMinifier$1):93:93 -> <init>
     2:4:void <init>(java.util.Map,java.util.Map):98:100 -> <init>
 com.android.tools.r8.naming.ClassNameMinifier$Namespace -> com.android.tools.r8.naming.c$d:
-    char[] packagePrefix -> b
-    com.android.tools.r8.naming.ClassNameMinifier this$0 -> e
-    boolean $assertionsDisabled -> f
-    java.lang.String packageName -> a
-    int nameIndex -> d
-    int dictionaryIndex -> c
+    char[] packagePrefix -> c
+    com.android.tools.r8.naming.ClassNameMinifier this$0 -> f
+    int dictionaryIndex -> d
+    int nameIndex -> e
+    boolean $assertionsDisabled -> a
+    java.lang.String packageName -> b
     1:1:void <clinit>():374:374 -> <clinit>
     1:1:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String):382:382 -> <init>
     2:2:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String,java.lang.String):385:385 -> <init>
@@ -57412,13 +57567,13 @@
     void addMappedRange(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,java.lang.Object,java.lang.String) -> a
     com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming) -> a
 com.android.tools.r8.naming.ClassNamingForMapApplier -> com.android.tools.r8.naming.f:
-    com.android.tools.r8.com.google.common.collect.ImmutableMap qualifiedMethodMembers -> d
-    com.android.tools.r8.position.Position position -> c
-    com.android.tools.r8.com.google.common.collect.ImmutableMap fieldMembers -> f
-    com.android.tools.r8.com.google.common.collect.ImmutableMap methodMembers -> e
-    boolean $assertionsDisabled -> g
-    java.lang.String originalName -> a
-    java.lang.String renamedName -> b
+    com.android.tools.r8.com.google.common.collect.ImmutableMap fieldMembers -> g
+    com.android.tools.r8.position.Position position -> d
+    com.android.tools.r8.com.google.common.collect.ImmutableMap methodMembers -> f
+    com.android.tools.r8.com.google.common.collect.ImmutableMap qualifiedMethodMembers -> e
+    boolean $assertionsDisabled -> a
+    java.lang.String renamedName -> c
+    java.lang.String originalName -> b
     1:1:void <clinit>():35:35 -> <clinit>
     1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.naming.ClassNamingForMapApplier$1):35:35 -> <init>
     2:8:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,java.util.Map,java.util.Map,java.util.Map):122:128 -> <init>
@@ -57455,13 +57610,13 @@
     22:22:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):70:70 -> a
     23:23:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):69:69 -> a
 com.android.tools.r8.naming.ClassNamingForNameMapper -> com.android.tools.r8.naming.g:
-    com.android.tools.r8.com.google.common.collect.ImmutableMap fieldMembers -> d
-    com.android.tools.r8.com.google.common.collect.ImmutableMap methodMembers -> c
-    boolean $assertionsDisabled -> g
-    java.lang.String originalName -> a
-    java.util.Map mappedRangesByRenamedName -> e
-    java.lang.String renamedName -> b
-    java.util.Map mappedNamingsByName -> f
+    com.android.tools.r8.com.google.common.collect.ImmutableMap methodMembers -> d
+    com.android.tools.r8.com.google.common.collect.ImmutableMap fieldMembers -> e
+    boolean $assertionsDisabled -> a
+    java.lang.String renamedName -> c
+    java.lang.String originalName -> b
+    java.util.Map mappedRangesByRenamedName -> f
+    java.util.Map mappedNamingsByName -> g
     1:1:void <clinit>():28:28 -> <clinit>
     1:1:void <init>(java.lang.String,java.lang.String,java.util.Map,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.naming.ClassNamingForNameMapper$1):28:28 -> <init>
     2:8:void <init>(java.lang.String,java.lang.String,java.util.Map,java.util.Map,java.util.Map,java.util.Map):207:213 -> <init>
@@ -57499,13 +57654,13 @@
     16:22:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):46:52 -> a
     1:1:java.util.List lambda$addMemberEntry$0(java.lang.String):51:51 -> b
 com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange -> com.android.tools.r8.naming.g$c:
-    com.android.tools.r8.naming.Range minifiedRange -> a
-    int nextSequenceNumber -> f
-    java.lang.Object originalRange -> c
-    boolean $assertionsDisabled -> g
-    int sequenceNumber -> e
-    com.android.tools.r8.naming.MemberNaming$MethodSignature signature -> b
-    java.lang.String renamedName -> d
+    com.android.tools.r8.naming.MemberNaming$MethodSignature signature -> d
+    java.lang.String renamedName -> f
+    com.android.tools.r8.naming.Range minifiedRange -> c
+    java.lang.Object originalRange -> e
+    int sequenceNumber -> g
+    boolean $assertionsDisabled -> b
+    int nextSequenceNumber -> a
     1:3:void <clinit>():369:371 -> <clinit>
     1:1:void <init>(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,java.lang.Object,java.lang.String,com.android.tools.r8.naming.ClassNamingForNameMapper$1):369:369 -> <init>
     2:2:void <init>(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,java.lang.Object,java.lang.String):389:389 -> <init>
@@ -57527,9 +57682,9 @@
     1:7:boolean equals(java.lang.Object):165:171 -> equals
     1:1:int hashCode():176:176 -> hashCode
 com.android.tools.r8.naming.DictionaryReader -> com.android.tools.r8.naming.h:
-    java.nio.file.Path path -> b
-    java.io.BufferedReader reader -> a
-    boolean $assertionsDisabled -> c
+    java.nio.file.Path path -> c
+    java.io.BufferedReader reader -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():22:22 -> <clinit>
     1:3:void <init>(java.nio.file.Path):27:29 -> <init>
     1:40:java.lang.String readName(com.android.tools.r8.utils.Reporter):33:72 -> a
@@ -57537,162 +57692,133 @@
     55:71:com.android.tools.r8.com.google.common.collect.ImmutableList readAllNames(java.nio.file.Path,com.android.tools.r8.utils.Reporter):86:102 -> a
     1:2:void close():77:78 -> close
 com.android.tools.r8.naming.FieldNameMinifier -> com.android.tools.r8.naming.j:
-    java.util.Map renaming -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map reservedNamingStates -> d
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
-    com.android.tools.r8.naming.MemberNamingStrategy strategy -> e
-    1:1:void <clinit>():31:31 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):42:42 -> <init>
-    2:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):35:45 -> <init>
-    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.naming.FieldNameMinifier):31:31 -> a
-    2:6:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):53:57 -> a
-    7:8:void renameFieldsInInterfaces(java.util.Collection):192:193 -> a
-    7:8:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):58 -> a
-    9:11:void renameFieldsInInterfacePartition(java.util.Set):199:201 -> a
-    9:11:void renameFieldsInInterfaces(java.util.Collection):194 -> a
-    9:11:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):58 -> a
-    12:12:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):83:83 -> a
-    12:12:void renameFieldsInInterfacePartition(java.util.Set):201 -> a
-    12:12:void renameFieldsInInterfaces(java.util.Collection):194 -> a
-    12:12:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):58 -> a
-    13:25:void renameFieldsInInterfacePartition(java.util.Set):203:215 -> a
-    13:25:void renameFieldsInInterfaces(java.util.Collection):194 -> a
-    13:25:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):58 -> a
-    26:29:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.naming.FieldNamingState):240:243 -> a
-    26:29:void renameFieldsInInterfacePartition(java.util.Set):216 -> a
-    26:29:void renameFieldsInInterfaces(java.util.Collection):194 -> a
-    26:29:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):58 -> a
-    30:30:void renameFieldsInInterfacePartition(java.util.Set):217:217 -> a
-    30:30:void renameFieldsInInterfaces(java.util.Collection):194 -> a
-    30:30:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):58 -> a
-    31:31:void com.android.tools.r8.naming.ReservedFieldNamingState.markReservedDirectly(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType) -> a
-    31:31:void renameFieldsInInterfacePartition(java.util.Set):217 -> a
-    31:31:void renameFieldsInInterfaces(java.util.Collection):194 -> a
-    31:31:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):58 -> a
-    32:39:void renameFieldsInInterfacePartition(java.util.Set):223:230 -> a
-    32:39:void renameFieldsInInterfaces(java.util.Collection):194 -> a
-    32:39:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):58 -> a
-    40:40:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    40:40:void renameFieldsInInterfacePartition(java.util.Set):230 -> a
-    40:40:void renameFieldsInInterfaces(java.util.Collection):194 -> a
-    40:40:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):58 -> a
-    41:42:void renameFieldsInInterfacePartition(java.util.Set):232:233 -> a
-    41:42:void renameFieldsInInterfaces(java.util.Collection):194 -> a
-    41:42:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):58 -> a
-    43:50:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):59:66 -> a
-    51:51:com.android.tools.r8.naming.ReservedFieldNamingState getOrCreateReservedFieldNamingState(com.android.tools.r8.graph.DexType):87:87 -> a
-    52:58:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):98:104 -> a
-    59:59:void com.android.tools.r8.naming.ReservedFieldNamingState.markReservedDirectly(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):31:31 -> a
-    59:59:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):104 -> a
-    60:70:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):107:117 -> a
-    71:71:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    71:71:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):117 -> a
-    72:74:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):119:121 -> a
-    75:78:void lambda$reserveFieldNames$2(com.android.tools.r8.graph.DexClasspathClass):132:135 -> a
-    79:81:void propagateReservedFieldNamesUpwards():144:146 -> a
-    82:82:void propagateReservedFieldNamesUpwards():145:145 -> a
-    83:83:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):148:148 -> a
-    84:84:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):83:83 -> a
-    84:84:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):148 -> a
-    85:86:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):150:151 -> a
-    87:87:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):0:0 -> a
-    87:87:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):151 -> a
-    88:88:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    88:88:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):291 -> a
-    88:88:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):151 -> a
-    89:89:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):292:292 -> a
-    89:89:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):151 -> a
-    90:91:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):152:153 -> a
-    92:96:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):167:171 -> a
-    97:97:void com.android.tools.r8.naming.FieldNamingState.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):27:27 -> a
-    97:97:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):171 -> a
-    98:98:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):175:175 -> a
-    99:107:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):173:181 -> a
-    108:111:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.naming.FieldNamingState):240:243 -> a
-    108:111:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):182 -> a
-    112:113:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):186:187 -> a
-    114:114:void renameNonReboundAccessesToField(com.android.tools.r8.graph.FieldAccessInfo):255:255 -> a
-    115:118:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):260:263 -> a
-    119:119:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> a
-    119:119:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):263 -> a
-    120:124:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):265:269 -> a
-    125:125:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    125:125:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):269 -> a
-    126:140:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):271:285 -> a
-    1:1:com.android.tools.r8.graph.SubtypingInfo access$300(com.android.tools.r8.naming.FieldNameMinifier):31:31 -> b
-    2:2:com.android.tools.r8.naming.ReservedFieldNamingState lambda$getOrCreateReservedFieldNamingState$0(com.android.tools.r8.graph.DexType):88:88 -> b
-    3:7:void renameFieldsInClasses():161:165 -> b
-    8:8:void renameFieldsInClasses():164:164 -> b
-    1:1:com.android.tools.r8.naming.FieldNamingState lambda$renameFieldsInClasses$4(com.android.tools.r8.graph.DexType):174:174 -> c
-    2:2:void com.android.tools.r8.naming.FieldNamingState.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):27:27 -> c
-    2:2:com.android.tools.r8.naming.FieldNamingState lambda$renameFieldsInClasses$4(com.android.tools.r8.graph.DexType):174 -> c
-    3:5:void renameNonReboundReferences():249:251 -> c
-    1:48:void reserveFieldNames():93:140 -> d
+    java.util.Map renaming -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.naming.MemberNamingStrategy strategy -> f
+    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> c
+    boolean $assertionsDisabled -> a
+    java.util.Map reservedNamingStates -> e
+    1:1:void <clinit>():35:35 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):46:46 -> <init>
+    2:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):39:49 -> <init>
+    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.naming.FieldNameMinifier):35:35 -> a
+    2:6:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):57:61 -> a
+    7:9:void renameFieldsInInterfaces(java.util.Collection):194:196 -> a
+    7:9:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):62 -> a
+    10:17:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):63:70 -> a
+    18:18:com.android.tools.r8.naming.ReservedFieldNamingState getOrCreateReservedFieldNamingState(com.android.tools.r8.graph.DexType):91:91 -> a
+    19:25:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):102:108 -> a
+    26:26:void com.android.tools.r8.naming.ReservedFieldNamingState.markReservedDirectly(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):31:31 -> a
+    26:26:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):108 -> a
+    27:37:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):111:121 -> a
+    38:38:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    38:38:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):121 -> a
+    39:41:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):123:125 -> a
+    42:45:void lambda$reserveFieldNames$2(com.android.tools.r8.graph.DexClasspathClass):136:139 -> a
+    46:48:void propagateReservedFieldNamesUpwards():148:150 -> a
+    49:49:void propagateReservedFieldNamesUpwards():149:149 -> a
+    50:50:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):152:152 -> a
+    51:51:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):87:87 -> a
+    51:51:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):152 -> a
+    52:53:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):154:155 -> a
+    54:54:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):0:0 -> a
+    54:54:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):155 -> a
+    55:55:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    55:55:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):317 -> a
+    55:55:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):155 -> a
+    56:56:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):318:318 -> a
+    56:56:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):155 -> a
+    57:58:void lambda$propagateReservedFieldNamesUpwards$3(com.android.tools.r8.graph.DexProgramClass):156:157 -> a
+    59:63:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):171:175 -> a
+    64:64:void com.android.tools.r8.naming.FieldNamingState.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):25:25 -> a
+    64:64:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):175 -> a
+    65:65:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):179:179 -> a
+    66:78:void lambda$renameFieldsInClasses$6(java.util.Map,com.android.tools.r8.graph.DexClass):177:189 -> a
+    79:81:void renameFieldsInInterfacePartition(java.util.Set):201:203 -> a
+    82:82:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):87:87 -> a
+    82:82:void renameFieldsInInterfacePartition(java.util.Set):203 -> a
+    83:113:void renameFieldsInInterfacePartition(java.util.Set):205:235 -> a
+    114:114:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    114:114:void renameFieldsInInterfacePartition(java.util.Set):235 -> a
+    115:116:void renameFieldsInInterfacePartition(java.util.Set):237:238 -> a
+    117:119:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.FieldNamingState):245:247 -> a
+    117:119:void lambda$renameFieldsInClasses$5(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.graph.ProgramField):185 -> a
+    120:122:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.FieldNamingState):245:247 -> a
+    120:122:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):221 -> a
+    123:123:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):223:223 -> a
+    124:124:void com.android.tools.r8.naming.ReservedFieldNamingState.markReservedDirectly(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):31:31 -> a
+    124:124:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):222 -> a
+    125:125:void renameNonReboundAccessesToField(com.android.tools.r8.graph.FieldAccessInfo):259:259 -> a
+    126:135:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):265:274 -> a
+    1:1:com.android.tools.r8.graph.SubtypingInfo access$300(com.android.tools.r8.naming.FieldNameMinifier):35:35 -> b
+    2:2:com.android.tools.r8.naming.ReservedFieldNamingState lambda$getOrCreateReservedFieldNamingState$0(com.android.tools.r8.graph.DexType):92:92 -> b
+    3:7:void renameFieldsInClasses():165:169 -> b
+    8:8:void renameFieldsInClasses():168:168 -> b
+    1:1:com.android.tools.r8.naming.FieldNamingState lambda$renameFieldsInClasses$4(com.android.tools.r8.graph.DexType):178:178 -> c
+    2:2:void com.android.tools.r8.naming.FieldNamingState.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):25:25 -> c
+    2:2:com.android.tools.r8.naming.FieldNamingState lambda$renameFieldsInClasses$4(com.android.tools.r8.graph.DexType):178 -> c
+    3:5:void renameNonReboundReferences():253:255 -> c
+    1:48:void reserveFieldNames():97:144 -> d
 com.android.tools.r8.naming.FieldNameMinifier$1 -> com.android.tools.r8.naming.i:
 com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming -> com.android.tools.r8.naming.j$a:
     java.util.Map renaming -> a
-    1:1:void <init>(java.util.Map,com.android.tools.r8.naming.FieldNameMinifier$1):69:69 -> <init>
-    2:3:void <init>(java.util.Map):73:74 -> <init>
-    1:1:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming empty():78:78 -> a
+    1:1:void <init>(java.util.Map,com.android.tools.r8.naming.FieldNameMinifier$1):73:73 -> <init>
+    2:3:void <init>(java.util.Map):77:78 -> <init>
+    1:1:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming empty():82:82 -> a
 com.android.tools.r8.naming.FieldNameMinifier$InterfacePartitioning -> com.android.tools.r8.naming.k:
-    com.android.tools.r8.graph.AppView appView -> b
-    java.util.Set visited -> c
-    com.android.tools.r8.naming.FieldNameMinifier minfier -> a
-    boolean $assertionsDisabled -> d
-    1:1:void <clinit>():289:289 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.naming.FieldNameMinifier):295:295 -> <init>
-    2:6:void <init>(com.android.tools.r8.naming.FieldNameMinifier):293:297 -> <init>
-    1:1:java.util.List access$100(com.android.tools.r8.naming.FieldNameMinifier$InterfacePartitioning,java.util.Collection):289:289 -> a
-    2:9:java.util.List sortedPartitions(java.util.Collection):301:308 -> a
-    10:18:java.util.Set buildSortedPartition(com.android.tools.r8.graph.DexClass):315:323 -> a
-    19:19:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    19:19:java.util.Set buildSortedPartition(com.android.tools.r8.graph.DexClass):323 -> a
-    20:40:java.util.Set buildSortedPartition(com.android.tools.r8.graph.DexClass):328:348 -> a
-    41:41:int lambda$buildSortedPartition$0(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):315:315 -> a
+    com.android.tools.r8.graph.AppView appView -> c
+    java.util.Set visited -> d
+    com.android.tools.r8.naming.FieldNameMinifier minfier -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():278:278 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.naming.FieldNameMinifier):284:284 -> <init>
+    2:6:void <init>(com.android.tools.r8.naming.FieldNameMinifier):282:286 -> <init>
+    1:1:java.util.List access$100(com.android.tools.r8.naming.FieldNameMinifier$InterfacePartitioning,java.util.Collection):278:278 -> a
+    2:9:java.util.List sortedPartitions(java.util.Collection):290:297 -> a
+    10:18:java.util.Set buildSortedPartition(com.android.tools.r8.graph.DexClass):304:312 -> a
+    19:19:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    19:19:java.util.Set buildSortedPartition(com.android.tools.r8.graph.DexClass):312 -> a
+    20:40:java.util.Set buildSortedPartition(com.android.tools.r8.graph.DexClass):317:337 -> a
+    41:41:int lambda$buildSortedPartition$0(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):304:304 -> a
 com.android.tools.r8.naming.FieldNamingState -> com.android.tools.r8.naming.l:
     com.android.tools.r8.naming.ReservedFieldNamingState reservedNames -> c
     com.android.tools.r8.naming.MemberNamingStrategy strategy -> d
     java.util.function.BiPredicate isAvailable -> e
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.ReservedFieldNamingState):34:34 -> <init>
-    2:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.ReservedFieldNamingState,java.util.Map):42:45 -> <init>
-    1:1:java.util.function.BiPredicate access$000(com.android.tools.r8.naming.FieldNamingState):19:19 -> a
-    2:2:boolean lambda$new$0(com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField):45:45 -> a
-    3:5:com.android.tools.r8.naming.FieldNamingState createChildState(com.android.tools.r8.naming.ReservedFieldNamingState):49:51 -> a
-    6:6:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):72:72 -> a
-    6:6:com.android.tools.r8.naming.FieldNamingState createChildState(com.android.tools.r8.naming.ReservedFieldNamingState):51 -> a
-    7:9:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.DexField):56:58 -> a
-    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    10:10:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.DexField):58 -> a
-    11:13:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.DexField):60:62 -> a
-    14:14:java.lang.Object com.android.tools.r8.naming.FieldNamingStateBase.getOrCreateInternalState(com.android.tools.r8.graph.DexField):31:31 -> a
-    14:14:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.DexField):68 -> a
-    15:15:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.DexField):68:68 -> a
-    16:17:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.DexField):104:105 -> a
-    16:17:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.DexField):68 -> a
-    18:18:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():77:77 -> a
-    18:18:java.lang.Object createInternalState():19 -> a
-    19:19:void com.android.tools.r8.naming.FieldNamingState$InternalState.<init>(com.android.tools.r8.naming.FieldNamingState):95:95 -> a
-    19:19:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():77 -> a
-    19:19:java.lang.Object createInternalState():19 -> a
-    1:1:com.android.tools.r8.naming.MemberNamingStrategy access$100(com.android.tools.r8.naming.FieldNamingState):19:19 -> b
-    2:6:com.android.tools.r8.naming.FieldNamingState clone():82:86 -> b
-    1:1:com.android.tools.r8.naming.ReservedFieldNamingState access$200(com.android.tools.r8.naming.FieldNamingState):19:19 -> c
-    1:1:java.lang.Object clone():19:19 -> clone
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.ReservedFieldNamingState):32:32 -> <init>
+    2:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.ReservedFieldNamingState,java.util.Map):40:43 -> <init>
+    1:1:java.util.function.BiPredicate access$000(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
+    2:2:boolean lambda$new$0(com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.ProgramField):44:44 -> a
+    3:5:com.android.tools.r8.naming.FieldNamingState createChildState(com.android.tools.r8.naming.ReservedFieldNamingState):48:50 -> a
+    6:6:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):64:64 -> a
+    6:6:com.android.tools.r8.naming.FieldNamingState createChildState(com.android.tools.r8.naming.ReservedFieldNamingState):50 -> a
+    7:12:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):55:60 -> a
+    13:13:java.lang.Object com.android.tools.r8.naming.FieldNamingStateBase.getOrCreateInternalState(com.android.tools.r8.graph.DexField):31:31 -> a
+    13:13:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
+    14:14:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60:60 -> a
+    15:16:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):96:97 -> a
+    15:16:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):60 -> a
+    17:17:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():69:69 -> a
+    17:17:java.lang.Object createInternalState():17 -> a
+    18:18:void com.android.tools.r8.naming.FieldNamingState$InternalState.<init>(com.android.tools.r8.naming.FieldNamingState):87:87 -> a
+    18:18:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():69 -> a
+    18:18:java.lang.Object createInternalState():17 -> a
+    1:1:com.android.tools.r8.naming.MemberNamingStrategy access$100(com.android.tools.r8.naming.FieldNamingState):17:17 -> b
+    2:6:com.android.tools.r8.naming.FieldNamingState clone():74:78 -> b
+    1:1:com.android.tools.r8.naming.ReservedFieldNamingState access$200(com.android.tools.r8.naming.FieldNamingState):17:17 -> c
+    1:1:java.lang.Object clone():17:17 -> clone
 com.android.tools.r8.naming.FieldNamingState$InternalState -> com.android.tools.r8.naming.l$a:
-    com.android.tools.r8.naming.FieldNamingState this$0 -> c
-    int nextNameIndex -> b
-    boolean $assertionsDisabled -> d
-    int dictionaryIndex -> a
-    1:1:void <clinit>():89:89 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.naming.FieldNamingState,int,int):98:100 -> <init>
-    1:1:int incrementDictionaryIndex():121:121 -> a
-    2:3:int incrementNameIndex(boolean):126:127 -> a
-    1:1:int getDictionaryIndex():116:116 -> b
-    1:1:com.android.tools.r8.naming.FieldNamingState$InternalState clone():111:111 -> c
-    1:1:com.android.tools.r8.naming.FieldNamingState$InternalState clone():111:111 -> clone
-    1:1:java.lang.Object clone():89 -> clone
+    com.android.tools.r8.naming.FieldNamingState this$0 -> d
+    boolean $assertionsDisabled -> a
+    int dictionaryIndex -> b
+    int nextNameIndex -> c
+    1:1:void <clinit>():81:81 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.naming.FieldNamingState,int,int):90:92 -> <init>
+    1:1:int incrementDictionaryIndex():113:113 -> a
+    2:3:int incrementNameIndex(boolean):118:119 -> a
+    1:1:int getDictionaryIndex():108:108 -> b
+    1:1:com.android.tools.r8.naming.FieldNamingState$InternalState clone():103:103 -> c
+    1:1:com.android.tools.r8.naming.FieldNamingState$InternalState clone():103:103 -> clone
+    1:1:java.lang.Object clone():81 -> clone
 com.android.tools.r8.naming.FieldNamingStateBase -> com.android.tools.r8.naming.m:
     java.util.Map internalStates -> b
     com.android.tools.r8.graph.AppView appView -> a
@@ -57703,10 +57829,10 @@
     5:5:java.lang.Object getOrCreateInternalState(com.android.tools.r8.graph.DexType):36:36 -> a
     1:1:java.lang.Object lambda$getOrCreateInternalState$0(com.android.tools.r8.graph.DexType):36:36 -> b
 com.android.tools.r8.naming.IdentifierMinifier -> com.android.tools.r8.naming.n:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.naming.NamingLens lens -> c
-    com.android.tools.r8.shaking.ProguardClassFilter adaptClassStrings -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.shaking.ProguardClassFilter adaptClassStrings -> c
+    com.android.tools.r8.naming.NamingLens lens -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():35:35 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):41:44 -> <init>
     1:3:void adaptClassStrings(java.util.concurrent.ExecutorService):55:55 -> a
@@ -57725,10 +57851,10 @@
     15:39:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.DexEncodedMethod):152:176 -> b
     1:4:void run(java.util.concurrent.ExecutorService):48:51 -> c
 com.android.tools.r8.naming.IdentifierNameStringMarker -> com.android.tools.r8.naming.o:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap identifierNameStrings -> b
-    boolean $assertionsDisabled -> d
-    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap identifierNameStrings -> c
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo throwingInfo -> d
     1:1:void <clinit>():52:52 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.AppView):58:61 -> <init>
     boolean lambda$decoupleIdentifierNameStringForInvokeInstruction$1(com.android.tools.r8.ir.code.ConstString,com.android.tools.r8.ir.code.Instruction) -> a
@@ -57766,10 +57892,10 @@
     418:418:int getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):350:350 -> a
     418:418:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):216 -> a
     419:444:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):217:242 -> a
-    445:445:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296:296 -> a
+    445:445:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291:291 -> a
     445:445:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):242 -> a
     446:446:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):24:24 -> a
-    446:446:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):296 -> a
+    446:446:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):291 -> a
     446:446:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):242 -> a
     447:526:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):245:324 -> a
     527:533:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):323:329 -> a
@@ -57790,7 +57916,7 @@
     124:133:com.android.tools.r8.graph.DexType inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):310:319 -> a
     124:133:com.android.tools.r8.graph.DexReference identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier):217 -> a
     134:154:com.android.tools.r8.graph.DexReference identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier):224:244 -> a
-    155:155:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    155:155:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     155:155:com.android.tools.r8.graph.DexReference identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier):244 -> a
     156:171:com.android.tools.r8.graph.DexReference identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier):248:263 -> a
     172:210:com.android.tools.r8.graph.DexTypeList retrieveDexTypeListFromClassList(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):523:561 -> a
@@ -57817,13 +57943,13 @@
     328:328:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):464 -> a
     329:344:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):469:484 -> a
 com.android.tools.r8.naming.InterfaceMethodNameMinifier -> com.android.tools.r8.naming.s:
-    com.android.tools.r8.naming.MethodNameMinifier$State minifierState -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map callSiteRenamings -> d
-    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
-    boolean $assertionsDisabled -> g
-    java.util.Map globalStateMap -> e
-    java.util.Map interfaceStateMap -> f
+    com.android.tools.r8.naming.MethodNameMinifier$State minifierState -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> c
+    boolean $assertionsDisabled -> a
+    java.util.Map callSiteRenamings -> e
+    java.util.Map globalStateMap -> f
+    java.util.Map interfaceStateMap -> g
     1:1:void <clinit>():98:98 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MethodNameMinifier$State):376:376 -> <init>
     2:16:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MethodNameMinifier$State):368:382 -> <init>
@@ -57857,7 +57983,7 @@
     250:256:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.util.Collection):599:605 -> a
     257:257:com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState lambda$assignNamesToInterfaceMethods$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):424:424 -> a
     258:285:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):446:473 -> a
-    286:286:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    286:286:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     286:286:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):473 -> a
     287:297:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):474:484 -> a
     298:311:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):483:496 -> a
@@ -57929,16 +58055,16 @@
     2:2:int compareTo(java.lang.Object):241 -> compareTo
     1:4:void appendMethodGroupState(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):252:255 -> d
 com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState -> com.android.tools.r8.naming.r:
-    com.android.tools.r8.graph.DexClass iface -> a
-    java.util.Set reservationTypes -> c
-    boolean $assertionsDisabled -> e
-    java.util.Set children -> b
-    com.android.tools.r8.naming.InterfaceMethodNameMinifier this$0 -> d
+    com.android.tools.r8.graph.DexClass iface -> b
+    java.util.Set children -> c
+    java.util.Set reservationTypes -> d
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.naming.InterfaceMethodNameMinifier this$0 -> e
     1:1:void <clinit>():100:100 -> <clinit>
     1:1:void <init>(com.android.tools.r8.naming.InterfaceMethodNameMinifier,com.android.tools.r8.graph.DexClass):109:109 -> <init>
     2:7:void <init>(com.android.tools.r8.naming.InterfaceMethodNameMinifier,com.android.tools.r8.graph.DexClass):105:110 -> <init>
     1:2:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexMethod):116:117 -> a
-    3:3:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    3:3:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     3:3:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexMethod):117 -> a
     4:4:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexMethod):119:119 -> a
     5:5:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.MethodNameMinifier$State.getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):114:114 -> a
@@ -57990,7 +58116,7 @@
     com.android.tools.r8.naming.MemberNaming$FieldSignature asFieldSignature() -> a
     1:1:com.android.tools.r8.naming.MemberNaming$FieldSignature fromDexField(com.android.tools.r8.graph.DexField):181:181 -> a
     2:2:com.android.tools.r8.naming.MemberNaming$FieldSignature fromDexField(com.android.tools.r8.graph.DexField,boolean):185:185 -> a
-    3:3:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():111:111 -> a
+    3:3:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():144:144 -> a
     3:3:com.android.tools.r8.naming.MemberNaming$FieldSignature fromDexField(com.android.tools.r8.graph.DexField,boolean):186 -> a
     4:5:com.android.tools.r8.naming.MemberNaming$FieldSignature fromDexField(com.android.tools.r8.graph.DexField,boolean):186:187 -> a
     6:10:com.android.tools.r8.graph.DexField toDexField(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):191:191 -> a
@@ -58001,9 +58127,9 @@
     1:1:int hashCode():221:221 -> hashCode
     1:1:java.lang.String toString():226:226 -> toString
 com.android.tools.r8.naming.MemberNaming$MethodSignature -> com.android.tools.r8.naming.u$b:
-    boolean $assertionsDisabled -> e
-    java.lang.String[] parameters -> d
-    java.lang.String type -> c
+    java.lang.String[] parameters -> e
+    boolean $assertionsDisabled -> c
+    java.lang.String type -> d
     1:1:void <clinit>():247:247 -> <clinit>
     1:3:void <init>(java.lang.String,java.lang.String,java.lang.String[]):253:255 -> <init>
     4:6:void <init>(java.lang.String,java.lang.String,java.util.Collection):259:261 -> <init>
@@ -58022,8 +58148,8 @@
     1:3:int hashCode():342:344 -> hashCode
     1:1:java.lang.String toString():349:349 -> toString
 com.android.tools.r8.naming.MemberNaming$Signature -> com.android.tools.r8.naming.u$c:
-    java.lang.String name -> a
-    boolean $assertionsDisabled -> b
+    boolean $assertionsDisabled -> a
+    java.lang.String name -> b
     1:1:void <clinit>():103:103 -> <clinit>
     1:2:void <init>(java.lang.String):107:108 -> <init>
     com.android.tools.r8.naming.MemberNaming$FieldSignature asFieldSignature() -> a
@@ -58043,20 +58169,20 @@
     boolean allowMemberRenaming(com.android.tools.r8.graph.DexClass) -> a
     com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass) -> a
     com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass) -> a
-    com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate) -> a
     com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate) -> a
+    com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate) -> a
 com.android.tools.r8.naming.MethodNameMinifier -> com.android.tools.r8.naming.x:
-    com.android.tools.r8.naming.MethodNameMinifier$State minifierState -> e
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Map renaming -> d
-    com.android.tools.r8.naming.MethodNamingState rootNamingState -> i
-    boolean $assertionsDisabled -> k
-    com.android.tools.r8.naming.MethodReservationState rootReservationState -> j
-    com.android.tools.r8.com.google.common.collect.BiMap reservationStates -> f
-    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
-    com.android.tools.r8.naming.MemberNamingStrategy strategy -> c
-    java.util.Map namingStates -> g
-    java.util.Map frontiers -> h
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.naming.MethodReservationState rootReservationState -> k
+    com.android.tools.r8.naming.MethodNamingState rootNamingState -> j
+    java.util.Map frontiers -> i
+    com.android.tools.r8.com.google.common.collect.BiMap reservationStates -> g
+    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> c
+    com.android.tools.r8.naming.MemberNamingStrategy strategy -> d
+    boolean $assertionsDisabled -> a
+    java.util.Map renaming -> e
+    com.android.tools.r8.naming.MethodNameMinifier$State minifierState -> f
+    java.util.Map namingStates -> h
     1:1:void <clinit>():86:86 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):138:138 -> <init>
     2:25:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):122:145 -> <init>
@@ -58065,7 +58191,7 @@
     2:2:com.android.tools.r8.naming.MethodNamingState access$200(com.android.tools.r8.naming.MethodNameMinifier,com.android.tools.r8.graph.DexType):86:86 -> a
     3:3:com.android.tools.r8.naming.MethodReservationState access$400(com.android.tools.r8.naming.MethodNameMinifier,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):86:86 -> a
     4:4:java.util.function.Function getNamingKeyTransform():160:160 -> a
-    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     5:5:java.util.function.Function getNamingKeyTransform():160 -> a
     6:7:java.util.function.Function getNamingKeyTransform():161:162 -> a
     8:8:com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):184:184 -> a
@@ -58073,7 +58199,7 @@
     9:12:com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):185 -> a
     13:29:com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):186:202 -> a
     30:36:void assignNamesToClassesMethods(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodNamingState):206:212 -> a
-    37:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    37:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     37:37:void assignNamesToClassesMethods(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodNamingState):212 -> a
     38:39:void assignNamesToClassesMethods(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodNamingState):213:214 -> a
     40:53:void assignNameToMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.MethodNamingState):225:238 -> a
@@ -58081,7 +58207,7 @@
     54:55:void assignNamesToClassesMethods(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodNamingState):218:219 -> a
     56:56:com.android.tools.r8.naming.MethodNamingState lambda$assignNamesToClassesMethods$3(com.android.tools.r8.naming.MethodNamingState,com.android.tools.r8.naming.MethodReservationState,com.android.tools.r8.graph.DexType):211:211 -> a
     57:66:com.android.tools.r8.naming.MethodReservationState allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):269:278 -> a
-    67:67:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    67:67:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     67:67:com.android.tools.r8.naming.MethodReservationState allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):278 -> a
     68:68:com.android.tools.r8.naming.MethodReservationState allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):280:280 -> a
     69:69:java.lang.Iterable shuffleMethods(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):334:334 -> a
@@ -58089,7 +58215,7 @@
     70:73:com.android.tools.r8.naming.MethodReservationState allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):280:283 -> a
     74:74:com.android.tools.r8.naming.MethodReservationState lambda$allocateReservationStateAndReserve$4(com.android.tools.r8.naming.MethodReservationState,com.android.tools.r8.graph.DexType):276:276 -> a
     75:81:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):292:298 -> a
-    82:82:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    82:82:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     82:82:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):298 -> a
     83:85:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):300:302 -> a
     86:96:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):316:326 -> a
@@ -58097,12 +58223,12 @@
     97:99:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):308:310 -> a
     1:1:com.android.tools.r8.com.google.common.collect.BiMap access$100(com.android.tools.r8.naming.MethodNameMinifier):86:86 -> b
     2:3:java.util.function.Function getReservationKeyTransform():149:150 -> b
-    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> b
+    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> b
     4:4:java.util.function.Function getReservationKeyTransform():150 -> b
     5:8:java.util.function.Function getReservationKeyTransform():152:155 -> b
     9:9:java.lang.Object lambda$getReservationKeyTransform$0(com.android.tools.r8.graph.DexMethod):152:152 -> b
     10:18:void reserveNamesInClasses(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):250:258 -> b
-    19:19:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
+    19:19:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
     19:19:void reserveNamesInClasses(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):258 -> b
     20:23:void reserveNamesInClasses(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):259:262 -> b
     24:24:void reserveNamesInClasses(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):260:260 -> b
@@ -58123,10 +58249,10 @@
     1:1:void putRenaming(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexString):93:93 -> a
     2:2:com.android.tools.r8.naming.MethodReservationState getReservationState(com.android.tools.r8.graph.DexType):97:97 -> a
 com.android.tools.r8.naming.MethodNamingState -> com.android.tools.r8.naming.B:
-    com.android.tools.r8.naming.MethodNamingState parentNamingState -> d
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.naming.MemberNamingStrategy namingStrategy -> e
-    com.android.tools.r8.naming.MethodReservationState reservationState -> c
+    com.android.tools.r8.naming.MethodNamingState parentNamingState -> e
+    com.android.tools.r8.naming.MethodReservationState reservationState -> d
+    com.android.tools.r8.naming.MemberNamingStrategy namingStrategy -> f
+    boolean $assertionsDisabled -> c
     1:1:void <clinit>():18:18 -> <clinit>
     1:4:void <init>(com.android.tools.r8.naming.MethodNamingState,java.util.function.Function,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.MethodReservationState):29:32 -> <init>
     1:1:com.android.tools.r8.naming.MethodNamingState createRoot(java.util.function.Function,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.MethodReservationState):39:39 -> a
@@ -58146,12 +58272,12 @@
     1:1:com.android.tools.r8.graph.DexString newOrReservedNameFor(com.android.tools.r8.graph.DexMethod):48:48 -> d
 com.android.tools.r8.naming.MethodNamingState$1 -> com.android.tools.r8.naming.z:
 com.android.tools.r8.naming.MethodNamingState$InternalNewNameState -> com.android.tools.r8.naming.A:
-    java.util.Map originalToRenamedNames -> b
-    java.util.Map usedBy -> c
-    com.android.tools.r8.naming.MethodNamingState$InternalNewNameState parentInternalState -> a
-    boolean $assertionsDisabled -> f
-    int nameCount -> d
-    int dictionaryIndex -> e
+    java.util.Map originalToRenamedNames -> c
+    java.util.Map usedBy -> d
+    int dictionaryIndex -> f
+    com.android.tools.r8.naming.MethodNamingState$InternalNewNameState parentInternalState -> b
+    int nameCount -> e
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():128:128 -> <clinit>
     1:1:void <init>(com.android.tools.r8.naming.MethodNamingState$InternalNewNameState,com.android.tools.r8.naming.MethodNamingState$1):128:128 -> <init>
     2:2:void <init>(com.android.tools.r8.naming.MethodNamingState$InternalNewNameState):140:140 -> <init>
@@ -58188,9 +58314,9 @@
     1:2:java.util.Set getReservedNamesFor(com.android.tools.r8.graph.DexMethod):63 -> c
     3:9:java.util.Set getReservedNamesFor(com.android.tools.r8.graph.DexMethod):63:69 -> c
 com.android.tools.r8.naming.MethodReservationState$InternalReservationState -> com.android.tools.r8.naming.D:
-    java.util.Map originalToReservedNames -> a
-    java.util.Set reservedNames -> b
-    boolean $assertionsDisabled -> c
+    java.util.Map originalToReservedNames -> b
+    java.util.Set reservedNames -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():79:79 -> <clinit>
     1:3:void <init>():79:81 -> <init>
     1:1:boolean isReserved(com.android.tools.r8.graph.DexString):84:84 -> a
@@ -58198,10 +58324,10 @@
     6:13:void reserveName(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexString):95:102 -> a
     14:14:java.util.Set lambda$reserveName$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):101:101 -> a
 com.android.tools.r8.naming.MinifiedRenaming -> com.android.tools.r8.naming.F:
-    java.util.Map packageRenaming -> c
-    java.util.Map renaming -> d
-    com.android.tools.r8.graph.AppView appView -> b
-    boolean $assertionsDisabled -> e
+    java.util.Map packageRenaming -> d
+    com.android.tools.r8.graph.AppView appView -> c
+    java.util.Map renaming -> e
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():33:33 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming,com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming,com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming):43:43 -> <init>
     2:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming,com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming,com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming):37:49 -> <init>
@@ -58223,8 +58349,8 @@
     1:35:boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod):164:198 -> b
     1:16:java.lang.String toString():207:222 -> toString
 com.android.tools.r8.naming.Minifier -> com.android.tools.r8.naming.G:
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():39:39 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.AppView):43:44 -> <init>
     1:14:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):48:61 -> a
@@ -58233,10 +58359,10 @@
     16:47:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):63:94 -> a
     48:48:int lambda$run$0(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):51:51 -> a
 com.android.tools.r8.naming.Minifier$BaseMinificationNamingStrategy -> com.android.tools.r8.naming.G$a:
-    java.util.List obfuscationDictionary -> a
-    com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing mixedCasing -> c
-    java.util.Set obfuscationDictionaryForLookup -> b
-    boolean $assertionsDisabled -> d
+    java.util.List obfuscationDictionary -> b
+    com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing mixedCasing -> d
+    java.util.Set obfuscationDictionaryForLookup -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():99:99 -> <clinit>
     1:6:void <init>(java.util.List,boolean):107:112 -> <init>
     1:11:java.lang.String nextName(char[],com.android.tools.r8.naming.InternalNamingState,boolean):116:126 -> a
@@ -58257,29 +58383,29 @@
     1:2:void <init>(com.android.tools.r8.graph.AppView):194:195 -> <init>
     3:3:void <init>(com.android.tools.r8.graph.AppView):193:193 -> <init>
 com.android.tools.r8.naming.Minifier$MinifierMemberNamingStrategy -> com.android.tools.r8.naming.G$d:
-    com.android.tools.r8.graph.DexItemFactory factory -> f
-    com.android.tools.r8.graph.AppView appView -> e
-    boolean desugaredLibraryRenaming -> g
-    boolean $assertionsDisabled -> h
+    com.android.tools.r8.graph.DexItemFactory factory -> g
+    boolean $assertionsDisabled -> e
+    com.android.tools.r8.graph.AppView appView -> f
+    boolean desugaredLibraryRenaming -> h
     1:1:void <clinit>():212:212 -> <clinit>
     1:4:void <init>(com.android.tools.r8.graph.AppView):220:223 -> <init>
     1:2:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):231:232 -> a
-    3:3:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    3:3:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     3:3:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):232 -> a
     4:4:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):233:233 -> a
     5:5:com.android.tools.r8.graph.DexString getNextName(com.android.tools.r8.naming.InternalNamingState,boolean):255:255 -> a
     5:5:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):236 -> a
     6:6:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):237:237 -> a
-    7:7:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):246:246 -> a
+    7:7:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):246:246 -> a
     8:8:com.android.tools.r8.graph.DexString getNextName(com.android.tools.r8.naming.InternalNamingState,boolean):255:255 -> a
-    8:8:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):249 -> a
-    9:9:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):250:250 -> a
+    8:8:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):249 -> a
+    9:9:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):250:250 -> a
     10:20:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):260:270 -> a
     21:21:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):264:264 -> a
     22:23:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):277:278 -> a
     24:24:boolean allowMemberRenaming(com.android.tools.r8.graph.DexClass):285:285 -> a
     1:1:boolean checkAllowMemberRenaming(com.android.tools.r8.graph.DexType):289:289 -> c
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> c
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> c
     2:2:boolean checkAllowMemberRenaming(com.android.tools.r8.graph.DexType):289 -> c
     3:3:boolean checkAllowMemberRenaming(com.android.tools.r8.graph.DexType):290:290 -> c
 com.android.tools.r8.naming.NamingLens -> com.android.tools.r8.naming.H:
@@ -58323,9 +58449,9 @@
     6:6:java.util.Map getRenamedItems(java.lang.Class,java.util.function.Predicate,java.util.function.Function):221:221 -> a
     boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod) -> b
 com.android.tools.r8.naming.PrefixRewritingNamingLens -> com.android.tools.r8.naming.I:
-    com.android.tools.r8.naming.NamingLens namingLens -> b
-    com.android.tools.r8.graph.AppView appView -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.naming.NamingLens namingLens -> c
+    com.android.tools.r8.graph.AppView appView -> d
+    boolean $assertionsDisabled -> b
     1:1:void <clinit>():27:27 -> <clinit>
     1:4:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.AppView):45:48 -> <init>
     1:1:com.android.tools.r8.naming.NamingLens createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView):34:34 -> a
@@ -58360,17 +58486,17 @@
     2:3:com.android.tools.r8.naming.ProguardMapError duplicateSourceMember(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):26:27 -> a
     4:5:com.android.tools.r8.naming.ProguardMapError duplicateTargetClass(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.position.Position):32:33 -> a
 com.android.tools.r8.naming.ProguardMapMinifier -> com.android.tools.r8.naming.O:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.naming.SeedMapper seedMapper -> c
-    boolean $assertionsDisabled -> k
-    com.android.tools.r8.com.google.common.collect.BiMap mappedNames -> d
-    java.util.Set mappedClasses -> e
-    java.util.Map additionalMethodNamings -> i
-    java.util.Map additionalFieldNamings -> j
-    java.util.Map memberNames -> f
-    java.util.Map syntheticCompanionClasses -> g
-    java.util.Map defaultInterfaceMethodImplementationNames -> h
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    com.android.tools.r8.naming.SeedMapper seedMapper -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.com.google.common.collect.BiMap mappedNames -> e
+    java.util.Set mappedClasses -> f
+    java.util.Map defaultInterfaceMethodImplementationNames -> i
+    java.util.Map additionalMethodNamings -> j
+    java.util.Map additionalFieldNamings -> k
+    boolean $assertionsDisabled -> a
+    java.util.Map memberNames -> g
+    java.util.Map syntheticCompanionClasses -> h
     1:1:void <clinit>():70:70 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.SeedMapper):85:85 -> <init>
     2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.SeedMapper):75:88 -> <init>
@@ -58379,48 +58505,48 @@
     28:28:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):204:204 -> a
     28:28:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):117 -> a
     29:32:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):125:128 -> a
-    33:44:void computeDefaultInterfaceMethodMethods():337:348 -> a
+    33:44:void computeDefaultInterfaceMethodMethods():338:349 -> a
     33:44:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):129 -> a
     45:805:boolean com.android.tools.r8.ir.desugar.InterfaceMethodRewriter.isCompanionClassType(com.android.tools.r8.graph.DexType):0:760 -> a
-    45:805:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):364 -> a
-    45:805:void computeDefaultInterfaceMethodMethods():348 -> a
+    45:805:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):365 -> a
+    45:805:void computeDefaultInterfaceMethodMethods():349 -> a
     45:805:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):129 -> a
-    806:807:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):367:368 -> a
-    806:807:void computeDefaultInterfaceMethodMethods():348 -> a
+    806:807:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):368:369 -> a
+    806:807:void computeDefaultInterfaceMethodMethods():349 -> a
     806:807:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):129 -> a
-    808:808:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    808:808:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):368 -> a
-    808:808:void computeDefaultInterfaceMethodMethods():348 -> a
+    808:808:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
+    808:808:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):369 -> a
+    808:808:void computeDefaultInterfaceMethodMethods():349 -> a
     808:808:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):129 -> a
-    809:824:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):369:384 -> a
-    809:824:void computeDefaultInterfaceMethodMethods():348 -> a
+    809:824:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):370:385 -> a
+    809:824:void computeDefaultInterfaceMethodMethods():349 -> a
     809:824:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):129 -> a
-    825:829:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):383:387 -> a
-    825:829:void computeDefaultInterfaceMethodMethods():348 -> a
+    825:829:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):384:388 -> a
+    825:829:void computeDefaultInterfaceMethodMethods():349 -> a
     825:829:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):129 -> a
-    830:830:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):386:386 -> a
-    830:830:void computeDefaultInterfaceMethodMethods():348 -> a
+    830:830:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map,java.util.Map):387:387 -> a
+    830:830:void computeDefaultInterfaceMethodMethods():349 -> a
     830:830:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):129 -> a
     831:881:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):130:180 -> a
     882:887:void lambda$run$2(java.util.ArrayDeque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,java.util.Set,com.android.tools.r8.graph.DexClass):102:107 -> a
     888:888:void lambda$run$3(java.util.ArrayDeque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):120:120 -> a
-    889:889:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    889:889:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     889:889:void lambda$run$3(java.util.ArrayDeque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):120 -> a
     890:891:void lambda$run$3(java.util.ArrayDeque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):121:122 -> a
     892:893:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):190:191 -> a
-    894:894:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    894:894:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     894:894:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):191 -> a
     895:904:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):194:203 -> a
-    905:912:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):323:330 -> a
+    905:912:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):324:331 -> a
     905:912:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):203 -> a
-    913:913:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):329:329 -> a
+    913:913:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):330:330 -> a
     913:913:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):203 -> a
-    914:918:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):328:332 -> a
+    914:918:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):329:333 -> a
     914:918:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):203 -> a
     919:927:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):204:212 -> a
     928:943:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):209:224 -> a
     944:947:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):223:226 -> a
-    948:948:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    948:948:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     948:948:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):226 -> a
     949:955:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):227:227 -> a
     963:968:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):235:240 -> a
@@ -58432,95 +58558,78 @@
     994:994:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):264 -> a
     995:995:void lambda$computeMapping$5(java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):261:261 -> a
     996:1002:void addNonPrivateInterfaceMappings(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.graph.DexType[]):272:278 -> a
-    1003:1003:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    1003:1003:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     1003:1003:void addNonPrivateInterfaceMappings(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.graph.DexType[]):278 -> a
     1004:1004:void addNonPrivateInterfaceMappings(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.graph.DexType[]):280:280 -> a
     1005:1005:void lambda$addNonPrivateInterfaceMappings$7(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.naming.MemberNaming):276:276 -> a
     1006:1011:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):290:295 -> a
     1012:1014:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):294:296 -> a
-    1015:1015:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
+    1015:1015:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):232:232 -> a
     1015:1015:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):296 -> a
     1016:1022:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):297:303 -> a
-    1023:1025:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):302:304 -> a
-    1026:1026:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> a
-    1026:1026:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):304 -> a
-    1027:1028:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):305:306 -> a
-    1029:1031:void addMemberNaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.MemberNaming,java.util.Map):313:313 -> a
-    1033:1036:void addMemberNaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.MemberNaming,java.util.Map):315:318 -> a
+    1023:1026:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):302:305 -> a
+    1027:1027:boolean com.android.tools.r8.graph.DexEncodedField.isPrivate():147:147 -> a
+    1027:1027:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):306 -> a
+    1028:1028:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):307:307 -> a
+    1029:1031:void addMemberNaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.MemberNaming,java.util.Map):314:314 -> a
+    1033:1036:void addMemberNaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.MemberNaming,java.util.Map):316:319 -> a
     1:1:int lambda$run$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):99:99 -> b
     2:2:void lambda$computeMapping$4(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.naming.MemberNaming):205:205 -> b
     3:3:void lambda$computeMapping$6(java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):266:266 -> b
 com.android.tools.r8.naming.ProguardMapMinifier$ApplyMappingClassNamingStrategy -> com.android.tools.r8.naming.L:
-    java.util.Set mappedNames -> h
-    boolean $assertionsDisabled -> i
-    java.util.Map mappings -> g
-    1:1:void <clinit>():392:392 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Set):399:401 -> <init>
-    1:3:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):407:409 -> a
-    4:7:boolean lambda$next$0(java.util.function.Predicate,java.lang.String):414:417 -> a
-    8:8:boolean isRenamedByApplyMapping(com.android.tools.r8.graph.DexType):448:448 -> a
-    1:18:com.android.tools.r8.graph.DexString reservedDescriptor(com.android.tools.r8.graph.DexType):426:443 -> b
+    java.util.Set mappedNames -> i
+    boolean $assertionsDisabled -> g
+    java.util.Map mappings -> h
+    1:1:void <clinit>():393:393 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Set):400:402 -> <init>
+    1:3:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):408:410 -> a
+    4:7:boolean lambda$next$0(java.util.function.Predicate,java.lang.String):415:418 -> a
+    8:8:boolean isRenamedByApplyMapping(com.android.tools.r8.graph.DexType):449:449 -> a
+    1:18:com.android.tools.r8.graph.DexString reservedDescriptor(com.android.tools.r8.graph.DexType):427:444 -> b
 com.android.tools.r8.naming.ProguardMapMinifier$ApplyMappingMemberNamingStrategy -> com.android.tools.r8.naming.M:
-    boolean $assertionsDisabled -> k
-    java.util.Map mappedNames -> i
-    com.android.tools.r8.graph.DexItemFactory factory -> j
-    1:1:void <clinit>():452:452 -> <clinit>
-    1:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):460:463 -> <init>
+    boolean $assertionsDisabled -> i
+    java.util.Map mappedNames -> j
+    com.android.tools.r8.graph.DexItemFactory factory -> k
+    1:1:void <clinit>():453:453 -> <clinit>
+    1:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):461:464 -> <init>
     boolean allowMemberRenaming(com.android.tools.r8.graph.DexClass) -> a
-    1:1:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):471:471 -> a
-    2:2:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> a
-    2:2:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):471 -> a
-    3:13:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):472:482 -> a
-    14:14:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    14:14:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):483 -> a
-    15:15:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):483:483 -> a
-    16:16:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):482:482 -> a
-    17:17:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):492:492 -> a
-    18:18:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> a
-    18:18:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):494 -> a
-    19:19:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):494:494 -> a
-    20:20:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):492:492 -> a
-    21:23:com.android.tools.r8.graph.DexString nextName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate,com.android.tools.r8.utils.TriFunction):510:512 -> a
-    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
-    24:24:com.android.tools.r8.graph.DexString nextName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate,com.android.tools.r8.utils.TriFunction):512 -> a
-    25:29:com.android.tools.r8.graph.DexString nextName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate,com.android.tools.r8.utils.TriFunction):513:517 -> a
-    30:36:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):566:572 -> a
-    30:36:com.android.tools.r8.graph.DexString nextName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate,com.android.tools.r8.utils.TriFunction):517 -> a
-    37:37:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):569:569 -> a
-    37:37:com.android.tools.r8.graph.DexString nextName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate,com.android.tools.r8.utils.TriFunction):517 -> a
-    38:40:com.android.tools.r8.graph.DexString nextName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate,com.android.tools.r8.utils.TriFunction):521:523 -> a
-    41:41:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):528:528 -> a
-    42:42:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):533:533 -> a
-    43:61:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):537:555 -> a
-    1:1:com.android.tools.r8.graph.DexString lambda$next$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):480:480 -> b
-    2:2:com.android.tools.r8.graph.DexString lambda$next$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):499:499 -> b
+    1:17:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):472:488 -> a
+    18:18:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> a
+    18:18:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):488 -> a
+    19:19:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):488:488 -> a
+    20:31:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):497:508 -> a
+    32:32:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):513:513 -> a
+    33:33:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):518:518 -> a
+    34:52:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):522:540 -> a
+    53:59:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):551:557 -> a
+    60:60:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):554:554 -> a
 com.android.tools.r8.naming.ProguardMapMinifier$ProguardMapMinifiedRenaming -> com.android.tools.r8.naming.N:
     java.util.Set unmappedReferences -> f
     java.util.Map classRenamingsMappingToDifferentName -> g
-    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming,com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming,com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming,java.util.Set):589:592 -> <init>
-    1:1:java.util.Map getRenamedItems(java.lang.Class,java.util.function.Predicate,java.util.function.Function):578:578 -> a
-    2:2:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):578:578 -> a
-    3:3:com.android.tools.r8.graph.DexString lookupMethodName(com.android.tools.r8.graph.DexCallSite):578:578 -> a
-    4:4:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):578:578 -> a
-    5:5:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):578:578 -> a
-    6:6:java.lang.String lookupPackageName(java.lang.String):578:578 -> a
-    7:8:void lambda$new$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):594:595 -> a
-    9:19:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):609:619 -> a
-    9:19:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):603 -> a
-    20:20:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):618:618 -> a
-    20:20:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):603 -> a
-    21:25:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):617:621 -> a
-    21:25:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):603 -> a
-    26:26:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):605:605 -> a
-    1:1:boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod):578:578 -> b
-    1:1:java.lang.String toString():578:578 -> toString
+    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming,com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming,com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming,java.util.Set):574:577 -> <init>
+    1:1:java.util.Map getRenamedItems(java.lang.Class,java.util.function.Predicate,java.util.function.Function):563:563 -> a
+    2:2:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):563:563 -> a
+    3:3:com.android.tools.r8.graph.DexString lookupMethodName(com.android.tools.r8.graph.DexCallSite):563:563 -> a
+    4:4:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):563:563 -> a
+    5:5:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):563:563 -> a
+    6:6:java.lang.String lookupPackageName(java.lang.String):563:563 -> a
+    7:8:void lambda$new$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):579:580 -> a
+    9:19:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):594:604 -> a
+    9:19:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):588 -> a
+    20:20:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):603:603 -> a
+    20:20:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):588 -> a
+    21:25:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):602:606 -> a
+    21:25:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):588 -> a
+    26:26:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):590:590 -> a
+    1:1:boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod):563:563 -> b
+    1:1:java.lang.String toString():563:563 -> toString
 com.android.tools.r8.naming.ProguardMapReader -> com.android.tools.r8.naming.Q:
-    java.io.BufferedReader reader -> a
-    boolean $assertionsDisabled -> f
-    int lineNo -> b
-    int lineOffset -> c
-    java.util.HashMap cache -> e
-    java.lang.String line -> d
+    java.io.BufferedReader reader -> b
+    int lineOffset -> d
+    boolean $assertionsDisabled -> a
+    java.util.HashMap cache -> f
+    int lineNo -> c
+    java.lang.String line -> e
     1:1:void <clinit>():54:54 -> <clinit>
     1:264:void <init>(java.io.BufferedReader):65:328 -> <init>
     265:265:void <init>(java.io.BufferedReader):66:66 -> <init>
@@ -58658,12 +58767,12 @@
     1:5:void <init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String,boolean):465:469 -> <init>
     1:4:java.lang.String toString():474:477 -> toString
 com.android.tools.r8.naming.ProguardMapSupplier -> com.android.tools.r8.naming.S:
-    com.android.tools.r8.naming.ClassNameMapper classNameMapper -> a
-    com.android.tools.r8.utils.InternalOptions options -> c
-    com.android.tools.r8.utils.Reporter reporter -> d
-    boolean $assertionsDisabled -> f
-    int PG_MAP_ID_LENGTH -> e
-    com.android.tools.r8.StringConsumer consumer -> b
+    com.android.tools.r8.naming.ClassNameMapper classNameMapper -> c
+    com.android.tools.r8.utils.InternalOptions options -> e
+    com.android.tools.r8.utils.Reporter reporter -> f
+    boolean $assertionsDisabled -> b
+    com.android.tools.r8.StringConsumer consumer -> d
+    int PG_MAP_ID_LENGTH -> a
     1:10:void <clinit>():20:29 -> <clinit>
     1:10:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.utils.InternalOptions):46:55 -> <init>
     1:1:com.android.tools.r8.utils.Reporter access$100(com.android.tools.r8.naming.ProguardMapSupplier):20:20 -> a
@@ -58680,9 +58789,9 @@
     1:1:com.android.tools.r8.StringConsumer access$200(com.android.tools.r8.naming.ProguardMapSupplier):20:20 -> b
 com.android.tools.r8.naming.ProguardMapSupplier$1 -> com.android.tools.r8.naming.S$a:
 com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker -> com.android.tools.r8.naming.S$b:
-    java.lang.StringBuilder contents -> b
-    boolean $assertionsDisabled -> c
-    com.android.tools.r8.StringConsumer inner -> a
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.StringConsumer inner -> b
+    java.lang.StringBuilder contents -> c
     1:1:void <clinit>():136:136 -> <clinit>
     1:1:void <init>(com.android.tools.r8.StringConsumer):141:141 -> <init>
     2:9:void <init>(com.android.tools.r8.StringConsumer):139:146 -> <init>
@@ -58779,14 +58888,14 @@
     100:101:com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):39 -> a
     102:103:com.android.tools.r8.naming.SeedMapper build():65:66 -> a
 com.android.tools.r8.naming.SourceFileRewriter -> com.android.tools.r8.naming.X:
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():21:21 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.AppView):25:26 -> <init>
     1:7:void run():30:36 -> a
     8:23:com.android.tools.r8.graph.DexString getSourceFileRenaming(com.android.tools.r8.shaking.ProguardConfiguration):81:96 -> a
     8:23:void run():41 -> a
-    24:24:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    24:24:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     24:24:com.android.tools.r8.graph.DexString getSourceFileRenaming(com.android.tools.r8.shaking.ProguardConfiguration):96 -> a
     24:24:void run():41 -> a
     25:25:com.android.tools.r8.graph.DexString getSourceFileRenaming(com.android.tools.r8.shaking.ProguardConfiguration):96:96 -> a
@@ -58796,13 +58905,13 @@
     56:56:boolean lambda$run$0(com.android.tools.r8.graph.DexDebugEvent):69:69 -> a
     57:57:com.android.tools.r8.graph.DexDebugEvent[] lambda$run$1(int):70:70 -> a
 com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo -> com.android.tools.r8.naming.Y.b:
-    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo TYPE_NAME_INSTANCE -> g
-    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo SIMPLE_NAME_INSTANCE -> f
-    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping mapping -> b
-    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo CANONICAL_NAME_INSTANCE -> c
-    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo NONE_INSTANCE -> e
-    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo NAME_INSTANCE -> d
-    int arrayDepth -> a
+    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping mapping -> g
+    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo CANONICAL_NAME_INSTANCE -> a
+    int arrayDepth -> f
+    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo NONE_INSTANCE -> c
+    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo NAME_INSTANCE -> b
+    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo TYPE_NAME_INSTANCE -> e
+    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo SIMPLE_NAME_INSTANCE -> d
     1:1:void <clinit>():88:88 -> <clinit>
     2:2:void <init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
     2:2:void <clinit>():88 -> <clinit>
@@ -58890,13 +58999,13 @@
     1:3:void <clinit>():15:17 -> <clinit>
     1:1:void <init>(java.lang.String,int):14:14 -> <init>
 com.android.tools.r8.naming.signature.GenericSignatureParser -> com.android.tools.r8.naming.Z.b:
-    com.android.tools.r8.naming.signature.GenericSignatureAction actions -> a
-    char[] buffer -> e
-    int pos -> f
-    boolean $assertionsDisabled -> g
-    char symbol -> b
-    java.lang.String identifier -> c
-    boolean eof -> d
+    com.android.tools.r8.naming.signature.GenericSignatureAction actions -> b
+    char[] buffer -> f
+    boolean eof -> e
+    int pos -> g
+    boolean $assertionsDisabled -> a
+    char symbol -> c
+    java.lang.String identifier -> d
     1:1:void <clinit>():54:54 -> <clinit>
     1:2:void <init>(com.android.tools.r8.naming.signature.GenericSignatureAction):76:77 -> <init>
     1:2:void parseClassSignature(java.lang.String):82:83 -> a
@@ -58934,11 +59043,11 @@
     1:13:void updateTypeArgument():268:280 -> g
     1:9:void updateTypeVariableSignature():286:294 -> h
 com.android.tools.r8.naming.signature.GenericSignatureRewriter -> com.android.tools.r8.naming.Z.d:
-    java.util.Map renaming -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.utils.InternalOptions options -> c
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.utils.Reporter reporter -> d
+    java.util.Map renaming -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.utils.InternalOptions options -> d
+    com.android.tools.r8.utils.Reporter reporter -> e
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():32:32 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):40:40 -> <init>
     2:6:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):43:47 -> <init>
@@ -58948,21 +59057,21 @@
     10:10:void lambda$run$5(com.android.tools.r8.graph.DexProgramClass):64:64 -> a
     11:28:void lambda$run$5(com.android.tools.r8.graph.DexProgramClass):63:80 -> a
     29:29:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.lang.String,java.lang.reflect.GenericSignatureFormatError):69:69 -> a
-    30:30:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
+    30:30:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
     30:30:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.lang.String,java.lang.reflect.GenericSignatureFormatError):69 -> a
     31:31:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.lang.String,java.lang.reflect.GenericSignatureFormatError):69:69 -> a
     32:32:void lambda$run$2(com.android.tools.r8.naming.signature.GenericSignatureParser,com.android.tools.r8.naming.signature.GenericSignatureRewriter$GenericSignatureCollector,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):74:74 -> a
     33:33:void lambda$run$2(com.android.tools.r8.naming.signature.GenericSignatureParser,com.android.tools.r8.naming.signature.GenericSignatureRewriter$GenericSignatureCollector,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):73:73 -> a
     34:34:void lambda$run$2(com.android.tools.r8.naming.signature.GenericSignatureParser,com.android.tools.r8.naming.signature.GenericSignatureRewriter$GenericSignatureCollector,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):72:72 -> a
     35:35:void lambda$run$1(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,java.lang.String,java.lang.reflect.GenericSignatureFormatError):78:78 -> a
-    36:36:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
+    36:36:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
     36:36:void lambda$run$1(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,java.lang.String,java.lang.reflect.GenericSignatureFormatError):79 -> a
     37:37:void lambda$run$1(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,java.lang.String,java.lang.reflect.GenericSignatureFormatError):78:78 -> a
     38:38:void lambda$run$4(com.android.tools.r8.naming.signature.GenericSignatureParser,com.android.tools.r8.naming.signature.GenericSignatureRewriter$GenericSignatureCollector,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):84:84 -> a
     39:39:void lambda$run$4(com.android.tools.r8.naming.signature.GenericSignatureParser,com.android.tools.r8.naming.signature.GenericSignatureRewriter$GenericSignatureCollector,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):83:83 -> a
     40:40:void lambda$run$4(com.android.tools.r8.naming.signature.GenericSignatureParser,com.android.tools.r8.naming.signature.GenericSignatureRewriter$GenericSignatureCollector,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):82:82 -> a
     41:41:void lambda$run$3(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,java.lang.String,java.lang.reflect.GenericSignatureFormatError):88:88 -> a
-    42:42:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
+    42:42:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
     42:42:void lambda$run$3(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,java.lang.String,java.lang.reflect.GenericSignatureFormatError):89 -> a
     43:43:void lambda$run$3(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,java.lang.String,java.lang.reflect.GenericSignatureFormatError):88:88 -> a
     44:55:com.android.tools.r8.graph.DexAnnotationSet rewriteGenericSignatures(com.android.tools.r8.graph.DexAnnotationSet,java.util.function.Consumer,java.util.function.Supplier,java.util.function.BiConsumer):103:114 -> a
@@ -58972,11 +59081,11 @@
     1:1:java.util.Map access$100(com.android.tools.r8.naming.signature.GenericSignatureRewriter):32:32 -> b
     1:1:com.android.tools.r8.utils.Reporter access$200(com.android.tools.r8.naming.signature.GenericSignatureRewriter):32:32 -> c
 com.android.tools.r8.naming.signature.GenericSignatureRewriter$GenericSignatureCollector -> com.android.tools.r8.naming.Z.c:
-    com.android.tools.r8.naming.signature.GenericSignatureRewriter this$0 -> d
-    com.android.tools.r8.graph.DexProgramClass currentClassContext -> b
-    boolean $assertionsDisabled -> e
-    java.lang.StringBuilder renamedSignature -> a
-    com.android.tools.r8.graph.DexType lastWrittenType -> c
+    com.android.tools.r8.naming.signature.GenericSignatureRewriter this$0 -> e
+    java.lang.StringBuilder renamedSignature -> b
+    com.android.tools.r8.graph.DexType lastWrittenType -> d
+    com.android.tools.r8.graph.DexProgramClass currentClassContext -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():161:161 -> <clinit>
     1:1:void <init>(com.android.tools.r8.naming.signature.GenericSignatureRewriter,com.android.tools.r8.graph.DexProgramClass):166:166 -> <init>
     2:5:void <init>(com.android.tools.r8.naming.signature.GenericSignatureRewriter,com.android.tools.r8.graph.DexProgramClass):164:167 -> <init>
@@ -59003,10 +59112,10 @@
     1:1:java.lang.String getRenamedSignature():171:171 -> c
     1:1:void removeWrittenClassCharacter():234:234 -> d
 com.android.tools.r8.optimize.BridgeHoisting -> com.android.tools.r8.y.c:
-    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.optimize.BridgeHoisting$BridgeHoistingLens$Builder lensBuilder -> b
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> a
+    com.android.tools.r8.graph.AppView appView -> c
+    com.android.tools.r8.optimize.BridgeHoisting$BridgeHoistingLens$Builder lensBuilder -> d
+    boolean $assertionsDisabled -> b
     1:4:void <clinit>():68:71 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):78:78 -> <init>
     2:5:void <init>(com.android.tools.r8.graph.AppView):76:79 -> <init>
@@ -59014,7 +59123,7 @@
     11:11:void run():91:91 -> a
     12:12:void lambda$run$0(com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexProgramClass):86:86 -> a
     13:16:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):97:100 -> a
-    17:17:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    17:17:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     17:17:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):100 -> a
     18:22:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):100:104 -> a
     23:29:java.util.Set getCandidatesForHoisting(java.util.Set):112:118 -> a
@@ -59022,47 +59131,47 @@
     30:31:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):106:107 -> a
     32:32:int lambda$processClass$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):98:98 -> a
     33:82:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):164:213 -> a
-    83:85:java.util.Map$Entry findMostFrequentBridge(java.util.Map):266:268 -> a
+    83:85:java.util.Map$Entry findMostFrequentBridge(java.util.Map):267:269 -> a
     83:85:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):216 -> a
     86:88:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):217:219 -> a
-    89:92:com.android.tools.r8.graph.ProgramMethod findRepresentative(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):276:279 -> a
+    89:92:com.android.tools.r8.graph.ProgramMethod findRepresentative(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):277:280 -> a
     89:92:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):222 -> a
-    93:96:boolean mayBecomeInaccessibleAfterHoisting(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):287:290 -> a
+    93:96:boolean mayBecomeInaccessibleAfterHoisting(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):288:291 -> a
     93:96:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):225 -> a
     97:97:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():342:342 -> a
-    97:97:boolean mayBecomeInaccessibleAfterHoisting(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):290 -> a
+    97:97:boolean mayBecomeInaccessibleAfterHoisting(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):291 -> a
     97:97:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):225 -> a
     98:110:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):231:243 -> a
-    111:113:com.android.tools.r8.graph.Code createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):294:296 -> a
+    111:113:com.android.tools.r8.graph.Code createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):295:297 -> a
     111:113:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):244 -> a
-    114:132:com.android.tools.r8.graph.CfCode createCfCodeForVirtualBridge(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):305:323 -> a
-    114:132:com.android.tools.r8.graph.Code createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):296 -> a
+    114:132:com.android.tools.r8.graph.CfCode createCfCodeForVirtualBridge(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):306:324 -> a
+    114:132:com.android.tools.r8.graph.Code createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):297 -> a
     114:132:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):244 -> a
-    133:134:com.android.tools.r8.graph.Code createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):298:299 -> a
+    133:134:com.android.tools.r8.graph.Code createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):299:300 -> a
     133:134:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):244 -> a
-    135:156:com.android.tools.r8.graph.DexCode createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):327:348 -> a
-    135:156:com.android.tools.r8.graph.Code createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):299 -> a
+    135:156:com.android.tools.r8.graph.DexCode createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):328:349 -> a
+    135:156:com.android.tools.r8.graph.Code createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):300 -> a
     135:156:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):244 -> a
-    157:171:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):244:258 -> a
-    172:172:com.android.tools.r8.graph.Code createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):301:301 -> a
-    172:172:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):244 -> a
-    173:173:com.android.tools.r8.graph.ProgramMethod findRepresentative(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):282:282 -> a
-    173:173:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):222 -> a
-    174:174:java.util.List lambda$hoistBridgeIfPossible$2(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):208:208 -> a
+    157:172:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):244:259 -> a
+    173:173:com.android.tools.r8.graph.Code createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):302:302 -> a
+    173:173:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):244 -> a
+    174:174:com.android.tools.r8.graph.ProgramMethod findRepresentative(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):283:283 -> a
+    174:174:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):222 -> a
+    175:175:java.util.List lambda$hoistBridgeIfPossible$2(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):208:208 -> a
 com.android.tools.r8.optimize.BridgeHoisting$BridgeHoistingLens -> com.android.tools.r8.y.b:
-    1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.BiMap):356:362 -> <init>
-    8:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.BiMap):355:355 -> <init>
+    1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.BiMap):357:363 -> <init>
+    8:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.BiMap):356:356 -> <init>
 com.android.tools.r8.optimize.BridgeHoisting$BridgeHoistingLens$Builder -> com.android.tools.r8.y.a:
-    com.android.tools.r8.com.google.common.collect.BiMap originalMethodSignatures -> a
-    boolean $assertionsDisabled -> b
-    1:1:void <clinit>():370:370 -> <clinit>
-    1:3:void <init>():370:372 -> <init>
-    1:1:boolean isEmpty():375:375 -> a
-    2:2:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):379:379 -> a
-    3:3:com.android.tools.r8.optimize.BridgeHoisting$BridgeHoistingLens build(com.android.tools.r8.graph.AppView):383:383 -> a
-    4:4:boolean isEmpty():375:375 -> a
-    4:4:com.android.tools.r8.optimize.BridgeHoisting$BridgeHoistingLens build(com.android.tools.r8.graph.AppView):383 -> a
-    5:6:com.android.tools.r8.optimize.BridgeHoisting$BridgeHoistingLens build(com.android.tools.r8.graph.AppView):383:384 -> a
+    com.android.tools.r8.com.google.common.collect.BiMap originalMethodSignatures -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():371:371 -> <clinit>
+    1:3:void <init>():371:373 -> <init>
+    1:1:boolean isEmpty():376:376 -> a
+    2:2:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):380:380 -> a
+    3:3:com.android.tools.r8.optimize.BridgeHoisting$BridgeHoistingLens build(com.android.tools.r8.graph.AppView):384:384 -> a
+    4:4:boolean isEmpty():376:376 -> a
+    4:4:com.android.tools.r8.optimize.BridgeHoisting$BridgeHoistingLens build(com.android.tools.r8.graph.AppView):384 -> a
+    5:6:com.android.tools.r8.optimize.BridgeHoisting$BridgeHoistingLens build(com.android.tools.r8.graph.AppView):384:385 -> a
 com.android.tools.r8.optimize.ClassAndMemberPublicizer -> com.android.tools.r8.y.d:
     com.android.tools.r8.graph.DexApplication application -> a
     com.android.tools.r8.ir.optimize.MethodPoolCollection methodPoolCollection -> d
@@ -59096,9 +59205,9 @@
     106:106:void lambda$publicizeClass$0(com.android.tools.r8.graph.DexEncodedField):106 -> a
     107:107:void lambda$publicizeClass$0(com.android.tools.r8.graph.DexEncodedField):110:110 -> a
 com.android.tools.r8.optimize.InvokeSingleTargetExtractor -> com.android.tools.r8.y.f:
-    com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind kind -> a
-    com.android.tools.r8.graph.DexMethod target -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind kind -> b
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexMethod target -> c
     1:1:void <clinit>():12:12 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexItemFactory):17:17 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):13:13 -> <init>
@@ -59127,42 +59236,42 @@
     1:5:void <clinit>():106:110 -> <clinit>
     1:1:void <init>(java.lang.String,int):105:105 -> <init>
 com.android.tools.r8.optimize.MemberRebindingAnalysis -> com.android.tools.r8.y.g:
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.optimize.MemberRebindingLense$Builder builder -> d
-    com.android.tools.r8.utils.InternalOptions options -> c
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.graph.GraphLense lense -> b
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.graph.GraphLense lense -> c
+    com.android.tools.r8.optimize.MemberRebindingLense$Builder builder -> e
+    com.android.tools.r8.utils.InternalOptions options -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():29:29 -> <clinit>
     1:6:void <init>(com.android.tools.r8.graph.AppView):37:42 -> <init>
     1:1:com.android.tools.r8.graph.DexMethod validTargetFor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):46:46 -> a
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     2:2:com.android.tools.r8.graph.DexMethod validTargetFor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):46 -> a
     3:16:com.android.tools.r8.graph.DexMethod validTargetFor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):47:60 -> a
     17:17:com.android.tools.r8.graph.DexType firstLibraryClassForInterfaceTarget(java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):83:83 -> a
-    18:18:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    18:18:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     18:18:com.android.tools.r8.graph.DexType firstLibraryClassForInterfaceTarget(java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):83 -> a
     19:35:com.android.tools.r8.graph.DexType firstLibraryClassForInterfaceTarget(java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):87:103 -> a
     36:36:com.android.tools.r8.graph.DexType firstLibraryClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):110:110 -> a
-    37:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    37:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     37:37:com.android.tools.r8.graph.DexType firstLibraryClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):110 -> a
     38:39:com.android.tools.r8.graph.DexType firstLibraryClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):110:111 -> a
-    40:40:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    40:40:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     40:40:com.android.tools.r8.graph.DexType firstLibraryClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):111 -> a
     41:42:com.android.tools.r8.graph.DexType firstLibraryClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):112:113 -> a
-    43:43:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    43:43:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     43:43:com.android.tools.r8.graph.DexType firstLibraryClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):113 -> a
     44:44:com.android.tools.r8.graph.DexType firstLibraryClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):115:115 -> a
     45:45:com.android.tools.r8.graph.DexEncodedMethod anyLookup(com.android.tools.r8.graph.DexMethod):127:127 -> a
     46:51:void computeMethodRebinding(java.util.Map,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):134:139 -> a
-    52:52:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    52:52:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     52:52:void computeMethodRebinding(java.util.Map,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):139 -> a
     53:60:void computeMethodRebinding(java.util.Map,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):140:147 -> a
-    61:61:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    61:61:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     61:61:void computeMethodRebinding(java.util.Map,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):147 -> a
     62:62:void computeMethodRebinding(java.util.Map,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):148:148 -> a
     63:63:boolean needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Invoke$Type):178:178 -> a
     63:63:void computeMethodRebinding(java.util.Map,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):154 -> a
-    64:64:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> a
+    64:64:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> a
     64:64:boolean needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Invoke$Type):178 -> a
     64:64:void computeMethodRebinding(java.util.Map,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):154 -> a
     65:68:boolean needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Invoke$Type):178:181 -> a
@@ -59175,12 +59284,12 @@
     80:88:void computeMethodRebinding(java.util.Map,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):167 -> a
     89:89:void computeMethodRebinding(java.util.Map,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):171:171 -> a
     90:93:com.android.tools.r8.graph.DexProgramClass findHolderForInterfaceMethodBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):209:212 -> a
-    94:94:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    94:94:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     94:94:com.android.tools.r8.graph.DexProgramClass findHolderForInterfaceMethodBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):212 -> a
     95:99:com.android.tools.r8.graph.DexProgramClass findHolderForInterfaceMethodBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):214:218 -> a
     100:101:boolean mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod):222:223 -> a
     100:101:boolean lambda$computeMethodRebinding$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):165 -> a
-    102:102:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    102:102:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     102:102:boolean mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod):223 -> a
     102:102:boolean lambda$computeMethodRebinding$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):165 -> a
     103:103:boolean mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod):229:229 -> a
@@ -59190,10 +59299,10 @@
     109:113:boolean mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod):231:235 -> a
     109:113:boolean lambda$computeMethodRebinding$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):165 -> a
     114:120:com.android.tools.r8.graph.DexProgramClass findHolderForVisibilityBridge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,java.lang.String):265:271 -> a
-    121:121:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    121:121:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     121:121:com.android.tools.r8.graph.DexProgramClass findHolderForVisibilityBridge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,java.lang.String):271 -> a
     122:126:com.android.tools.r8.graph.DexProgramClass findHolderForVisibilityBridge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,java.lang.String):272:276 -> a
-    127:127:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    127:127:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     127:127:com.android.tools.r8.graph.DexProgramClass findHolderForVisibilityBridge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,java.lang.String):276 -> a
     128:138:com.android.tools.r8.graph.DexProgramClass findHolderForVisibilityBridge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,java.lang.String):277:287 -> a
     139:141:void computeFieldRebinding():293:295 -> a
@@ -59202,7 +59311,7 @@
     162:172:void computeFieldRebindingForIndirectAccessWithContexts(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):322:332 -> a
     173:173:com.android.tools.r8.graph.DexField validTargetFor(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,java.util.function.BiFunction):65:65 -> a
     173:173:void computeFieldRebindingForIndirectAccessWithContexts(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):334 -> a
-    174:174:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    174:174:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     174:174:com.android.tools.r8.graph.DexField validTargetFor(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,java.util.function.BiFunction):65 -> a
     174:174:void computeFieldRebindingForIndirectAccessWithContexts(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):334 -> a
     175:187:com.android.tools.r8.graph.DexField validTargetFor(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,java.util.function.BiFunction):66:78 -> a
@@ -59210,36 +59319,35 @@
     188:188:void computeFieldRebindingForIndirectAccessWithContexts(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):334:334 -> a
     189:189:void computeFieldRebindingForIndirectAccessWithContexts(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):332:332 -> a
     1:1:com.android.tools.r8.graph.DexEncodedMethod classLookup(com.android.tools.r8.graph.DexMethod):119:119 -> b
-    2:16:com.android.tools.r8.graph.GraphLense run():339:353 -> b
+    2:15:com.android.tools.r8.graph.GraphLense run():339:352 -> b
     1:1:com.android.tools.r8.graph.DexEncodedMethod interfaceLookup(com.android.tools.r8.graph.DexMethod):123:123 -> c
 com.android.tools.r8.optimize.MemberRebindingLense -> com.android.tools.r8.y.i:
     java.util.Map methodMaps -> b
     com.android.tools.r8.graph.AppView appView -> a
-    1:7:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,com.android.tools.r8.graph.GraphLense):69:75 -> <init>
-    8:17:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,com.android.tools.r8.graph.GraphLense):68:77 -> <init>
-    1:1:com.android.tools.r8.optimize.MemberRebindingLense$Builder builder(com.android.tools.r8.graph.AppView):81:81 -> a
-    1:6:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):91:96 -> lookupMethod
-    7:7:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):108:108 -> lookupMethod
-    7:7:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):96 -> lookupMethod
-    8:8:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):96:96 -> lookupMethod
-    1:1:java.util.Set lookupMethodInAllContexts(com.android.tools.r8.graph.DexMethod):103:103 -> lookupMethodInAllContexts
-    1:1:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):108:108 -> mapInvocationType
+    1:7:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,com.android.tools.r8.graph.GraphLense):68:74 -> <init>
+    8:17:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,com.android.tools.r8.graph.GraphLense):67:76 -> <init>
+    1:1:com.android.tools.r8.optimize.MemberRebindingLense$Builder builder(com.android.tools.r8.graph.AppView):80:80 -> a
+    1:6:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):90:95 -> lookupMethod
+    7:7:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):102:102 -> lookupMethod
+    7:7:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):95 -> lookupMethod
+    8:8:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):95:95 -> lookupMethod
+    1:1:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):102:102 -> mapInvocationType
 com.android.tools.r8.optimize.MemberRebindingLense$Builder -> com.android.tools.r8.y.h:
-    java.util.Map fieldMap -> b
-    java.util.Map methodMaps -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> d
-    1:1:void <clinit>():22:22 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView):29:29 -> <init>
-    2:6:void <init>(com.android.tools.r8.graph.AppView):26:30 -> <init>
-    1:4:void map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):35:38 -> a
-    5:11:void map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):43:49 -> a
-    12:12:java.util.Map lambda$map$0(com.android.tools.r8.ir.code.Invoke$Type):47:47 -> a
-    13:16:com.android.tools.r8.graph.GraphLense build(com.android.tools.r8.graph.GraphLense):53:56 -> a
+    java.util.Map fieldMap -> c
+    java.util.Map methodMaps -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():21:21 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView):28:28 -> <init>
+    2:6:void <init>(com.android.tools.r8.graph.AppView):25:29 -> <init>
+    1:4:void map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):34:37 -> a
+    5:11:void map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):42:48 -> a
+    12:12:java.util.Map lambda$map$0(com.android.tools.r8.ir.code.Invoke$Type):46:46 -> a
+    13:16:com.android.tools.r8.graph.GraphLense build(com.android.tools.r8.graph.GraphLense):52:55 -> a
 com.android.tools.r8.optimize.PublicizerLense -> com.android.tools.r8.y.l:
-    com.android.tools.r8.graph.AppView appView -> a
-    java.util.Set publicizedMethods -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    java.util.Set publicizedMethods -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():17:17 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.optimize.PublicizerLense$1):17:17 -> <init>
     2:8:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):24:30 -> <init>
@@ -59248,7 +59356,7 @@
     1:5:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):44:48 -> lookupMethod
     6:9:boolean publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):55:58 -> lookupMethod
     6:9:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):48 -> lookupMethod
-    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> lookupMethod
+    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> lookupMethod
     10:10:boolean publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):58 -> lookupMethod
     10:10:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):48 -> lookupMethod
     11:14:boolean publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):59:62 -> lookupMethod
@@ -59263,8 +59371,8 @@
     1:4:com.android.tools.r8.graph.GraphLense build(com.android.tools.r8.graph.AppView):77:80 -> a
     5:5:void add(com.android.tools.r8.graph.DexMethod):84:84 -> a
 com.android.tools.r8.optimize.VisibilityBridgeRemover -> com.android.tools.r8.y.m:
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():19:19 -> <clinit>
     1:2:void <init>(com.android.tools.r8.graph.AppView):23:24 -> <init>
     1:3:void removeUnneededVisibilityBridgesFromClass(com.android.tools.r8.graph.DexProgramClass):28:30 -> a
@@ -59279,7 +59387,7 @@
     35:35:void lambda$removeUnneededVisibilityBridges$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):48 -> a
     36:46:boolean isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):71:81 -> a
     36:46:void lambda$removeUnneededVisibilityBridges$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):48 -> a
-    47:47:boolean com.android.tools.r8.graph.DexMethod.hasSameProtoAndName(com.android.tools.r8.graph.DexMethod):118:118 -> a
+    47:47:boolean com.android.tools.r8.graph.DexMethod.hasSameProtoAndName(com.android.tools.r8.graph.DexMethod):151:151 -> a
     47:47:boolean isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):81 -> a
     47:47:void lambda$removeUnneededVisibilityBridges$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):48 -> a
     48:48:boolean isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):82:82 -> a
@@ -59295,7 +59403,7 @@
     61:62:void run():100:101 -> a
 com.android.tools.r8.org.objectweb.asm.AnnotationVisitor -> com.android.tools.r8.z.a.a.a:
     1:1:void <init>(int):59:59 -> <init>
-    2:4:void <init>(int,com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):70:72 -> <init>
+    2:12:void <init>(int,com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):70:80 -> <init>
     void visit(java.lang.String,java.lang.Object) -> a
     com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String) -> a
     com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String) -> a
@@ -59396,176 +59504,188 @@
     int header -> h
     java.lang.String[] constantUtf8Values -> d
     int maxStringLength -> g
-    1:1:void <init>(byte[]):162:162 -> <init>
-    2:2:void <init>(byte[],int,int):176:176 -> <init>
-    3:73:void <init>(byte[],int,boolean):188:258 -> <init>
-    74:106:void <init>(byte[],int,boolean):239:271 -> <init>
-    1:114:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):421:534 -> a
-    115:121:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):533:539 -> a
-    122:122:void readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):717:717 -> a
-    122:122:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):544 -> a
-    123:123:java.lang.String readStringish(int,char[]):3494:3494 -> a
-    123:123:java.lang.String readModule(int,char[]):3524 -> a
-    123:123:void readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):721 -> a
-    123:123:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):544 -> a
-    124:221:void readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):722:819 -> a
-    124:221:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):544 -> a
-    222:245:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):550:573 -> a
-    246:265:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):572:591 -> a
-    266:287:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):590:611 -> a
-    288:313:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):610:635 -> a
-    314:354:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):634:674 -> a
-    355:365:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):670:680 -> a
-    366:453:int readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):836:923 -> a
-    366:453:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):683 -> a
-    454:473:int readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):922:941 -> a
-    454:473:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):683 -> a
-    474:495:int readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):940:961 -> a
-    474:495:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):683 -> a
-    496:521:int readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):960:985 -> a
-    496:521:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):683 -> a
-    522:544:int readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):984:1006 -> a
-    522:544:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):683 -> a
-    545:545:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):685:685 -> a
-    546:653:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1020:1127 -> a
-    546:653:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):688 -> a
-    654:674:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1123:1143 -> a
-    654:674:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):688 -> a
-    675:695:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1139:1159 -> a
-    675:695:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):688 -> a
-    696:723:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1157:1184 -> a
-    696:723:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):688 -> a
-    724:743:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1183:1202 -> a
-    724:743:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):688 -> a
-    744:765:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1201:1222 -> a
-    744:765:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):688 -> a
-    766:791:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1221:1246 -> a
-    766:791:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):688 -> a
-    792:835:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1245:1288 -> a
-    792:835:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):688 -> a
-    836:836:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):692:692 -> a
-    837:1138:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1309:1610 -> a
-    1139:1192:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1512:1565 -> a
-    1193:1198:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1547:1552 -> a
-    1199:1467:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1491:1759 -> a
-    1468:1523:void computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):2965:3020 -> a
-    1468:1523:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1761 -> a
-    1524:1542:void computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):2998:3016 -> a
-    1524:1542:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1761 -> a
-    1543:1543:void computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):2992:2992 -> a
-    1543:1543:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1761 -> a
-    1544:1550:void computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):2989:2995 -> a
-    1544:1550:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1761 -> a
-    1551:1551:void computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):2986:2986 -> a
-    1551:1551:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1761 -> a
-    1552:1623:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1771:1842 -> a
-    1624:1624:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1835:1835 -> a
-    1625:1700:int readStackMapFrame(int,boolean,boolean,com.android.tools.r8.org.objectweb.asm.Context):3046:3121 -> a
-    1625:1700:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1855 -> a
-    1701:1701:int readStackMapFrame(int,boolean,boolean,com.android.tools.r8.org.objectweb.asm.Context):3118:3118 -> a
-    1701:1701:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1855 -> a
-    1702:2102:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1864:2264 -> a
-    2103:2103:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2111:2111 -> a
-    2104:2104:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2110:2110 -> a
-    2105:2116:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2089:2100 -> a
-    2117:2117:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2092:2092 -> a
-    2118:2118:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2057:2057 -> a
-    2119:2324:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2055:2260 -> a
-    2325:2325:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2259:2259 -> a
-    2326:2329:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2119:2122 -> a
-    2330:2459:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2121:2250 -> a
-    2460:2475:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2226:2241 -> a
-    2476:2486:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2205:2215 -> a
-    2487:2497:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2151:2161 -> a
-    2498:2507:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2134:2143 -> a
-    2508:2508:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2050:2050 -> a
-    2509:2714:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2049:2254 -> a
-    2715:2715:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2028:2028 -> a
-    2716:2905:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2004:2193 -> a
-    2906:2906:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2188:2188 -> a
-    2907:2907:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2184:2184 -> a
-    2908:2908:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2180:2180 -> a
-    2909:3210:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1980:2281 -> a
-    3211:3240:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2280:2309 -> a
-    3241:3312:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2308:2379 -> a
-    3313:3342:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2378:2407 -> a
-    3343:3369:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2406:2432 -> a
-    3370:3370:void createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2476:2476 -> a
-    3371:3374:com.android.tools.r8.org.objectweb.asm.Label readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2446:2449 -> a
-    3371:3374:void createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2477 -> a
-    3375:3375:void createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2477:2477 -> a
-    3376:3381:int getTypeAnnotationBytecodeOffset(int[],int):2604:2609 -> a
-    3382:3440:int readTypeAnnotationTarget(com.android.tools.r8.org.objectweb.asm.Context,int):2625:2683 -> a
-    3441:3487:int readTypeAnnotationTarget(com.android.tools.r8.org.objectweb.asm.Context,int):2642:2688 -> a
-    3488:3501:void readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2711:2724 -> a
-    3502:3502:void readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2723:2723 -> a
-    3503:3520:int readElementValues(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,boolean,char[]):2753:2770 -> a
-    3521:3527:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2792:2798 -> a
-    3528:3681:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2796:2949 -> a
-    3682:3689:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2837:2844 -> a
-    3690:3713:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2841:2864 -> a
-    3714:3792:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2863:2941 -> a
-    3793:3793:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2940:2940 -> a
-    3794:3831:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2879:2916 -> a
-    3832:3852:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2903:2923 -> a
-    3853:3864:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2922:2933 -> a
-    3865:3869:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2932:2936 -> a
-    3870:3875:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2895:2900 -> a
-    3876:3881:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2871:2876 -> a
-    3882:3885:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2829:2829 -> a
-    3886:3888:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2823:2823 -> a
-    3889:3889:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2819:2819 -> a
-    3890:3890:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2818:2818 -> a
-    3891:3893:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2810:2810 -> a
-    3894:3896:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2805:2805 -> a
-    3945:3945:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2854:2854 -> a
-    3946:3946:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2853:2853 -> a
-    3947:3979:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3146:3178 -> a
-    3980:3980:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3174:3174 -> a
-    3981:3981:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3170:3170 -> a
-    3982:3982:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3167:3167 -> a
-    3983:3983:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3164:3164 -> a
-    3984:3984:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3161:3161 -> a
-    3985:3985:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3158:3158 -> a
-    3986:3986:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3155:3155 -> a
-    3987:3987:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3152:3152 -> a
-    3988:3988:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3149:3149 -> a
-    3989:4018:int getFirstAttributeOffset():3197:3226 -> a
-    4019:4025:com.android.tools.r8.org.objectweb.asm.Attribute readAttribute(com.android.tools.r8.org.objectweb.asm.Attribute[],java.lang.String,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):3297:3303 -> a
-    4026:4026:int getItem(int):3330:3330 -> a
-    4027:4043:java.lang.String readUtf(int,int,char[]):3459:3475 -> a
-    4044:4044:java.lang.String readStringish(int,char[]):3494:3494 -> a
-    4044:4044:java.lang.String readClass(int,char[]):3509 -> a
-    1:4:com.android.tools.r8.org.objectweb.asm.Label readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2446:2449 -> b
-    1:4:com.android.tools.r8.org.objectweb.asm.Label createLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2462 -> b
-    5:5:com.android.tools.r8.org.objectweb.asm.Label createLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2463:2463 -> b
-    6:59:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2504:2557 -> b
-    60:112:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2520:2572 -> b
-    113:127:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2571:2585 -> b
-    128:152:int[] readBootstrapMethodsAttribute(int):3242:3266 -> b
-    153:153:int getItemCount():3316:3316 -> b
-    154:183:java.lang.Object readConst(int,char[]):3588:3617 -> b
-    184:200:com.android.tools.r8.org.objectweb.asm.ConstantDynamic readConstantDynamic(int,char[]):3553:3569 -> b
-    184:200:java.lang.Object readConst(int,char[]):3615 -> b
-    201:211:java.lang.Object readConst(int,char[]):3603:3613 -> b
-    212:212:java.lang.Object readConst(int,char[]):3601:3601 -> b
-    213:213:java.lang.Object readConst(int,char[]):3599:3599 -> b
-    214:214:java.lang.Object readConst(int,char[]):3597:3597 -> b
-    215:215:java.lang.Object readConst(int,char[]):3595:3595 -> b
-    216:216:java.lang.Object readConst(int,char[]):3593:3593 -> b
-    217:217:java.lang.Object readConst(int,char[]):3591:3591 -> b
-    1:1:int getMaxStringLength():3341:3341 -> c
-    2:2:int readByte(int):3352:3352 -> c
-    3:3:java.lang.String readStringish(int,char[]):3494:3494 -> c
-    3:3:java.lang.String readModule(int,char[]):3524 -> c
-    1:2:int readInt(int):3387:3388 -> d
-    3:3:java.lang.String readStringish(int,char[]):3494:3494 -> d
-    3:3:java.lang.String readPackage(int,char[]):3539 -> d
-    1:2:long readLong(int):3402:3403 -> e
-    3:7:java.lang.String readUTF8(int,char[]):3420:3424 -> e
-    1:2:short readShort(int):3375:3376 -> f
-    3:9:java.lang.String readUtf(int,char[]):3437:3443 -> f
-    1:2:int readUnsignedShort(int):3363:3364 -> g
+    1:1:void <init>(byte[]):163:163 -> <init>
+    2:2:void <init>(byte[],int,int):177:177 -> <init>
+    3:73:void <init>(byte[],int,boolean):189:259 -> <init>
+    74:106:void <init>(byte[],int,boolean):240:272 -> <init>
+    1:122:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):422:543 -> a
+    123:129:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):542:548 -> a
+    130:130:void readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):746:746 -> a
+    130:130:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):553 -> a
+    131:131:java.lang.String readStringish(int,char[]):3697:3697 -> a
+    131:131:java.lang.String readModule(int,char[]):3727 -> a
+    131:131:void readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):750 -> a
+    131:131:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):553 -> a
+    132:229:void readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):751:848 -> a
+    132:229:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):553 -> a
+    230:253:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):559:582 -> a
+    254:273:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):581:600 -> a
+    274:295:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):599:620 -> a
+    296:321:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):619:644 -> a
+    322:359:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):643:680 -> a
+    360:375:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):679:694 -> a
+    376:387:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):690:701 -> a
+    388:465:int readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):865:942 -> a
+    388:465:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):704 -> a
+    466:485:int readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):941:960 -> a
+    466:485:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):704 -> a
+    486:507:int readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):959:980 -> a
+    486:507:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):704 -> a
+    508:533:int readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):979:1004 -> a
+    508:533:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):704 -> a
+    534:551:int readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1003:1020 -> a
+    534:551:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):704 -> a
+    552:552:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):709:709 -> a
+    553:640:int readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1039:1126 -> a
+    553:640:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):712 -> a
+    641:660:int readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1125:1144 -> a
+    641:660:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):712 -> a
+    661:682:int readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1143:1164 -> a
+    661:682:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):712 -> a
+    683:708:int readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1163:1188 -> a
+    683:708:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):712 -> a
+    709:731:int readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1187:1209 -> a
+    709:731:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):712 -> a
+    732:732:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):714:714 -> a
+    733:840:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1223:1330 -> a
+    733:840:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):717 -> a
+    841:861:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1326:1346 -> a
+    841:861:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):717 -> a
+    862:882:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1342:1362 -> a
+    862:882:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):717 -> a
+    883:910:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1360:1387 -> a
+    883:910:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):717 -> a
+    911:930:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1386:1405 -> a
+    911:930:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):717 -> a
+    931:952:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1404:1425 -> a
+    931:952:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):717 -> a
+    953:978:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1424:1449 -> a
+    953:978:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):717 -> a
+    979:1022:int readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1448:1491 -> a
+    979:1022:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):717 -> a
+    1023:1023:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):721:721 -> a
+    1024:1325:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1512:1813 -> a
+    1326:1379:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1715:1768 -> a
+    1380:1385:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1750:1755 -> a
+    1386:1654:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1694:1962 -> a
+    1655:1710:void computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3168:3223 -> a
+    1655:1710:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1964 -> a
+    1711:1729:void computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3201:3219 -> a
+    1711:1729:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1964 -> a
+    1730:1730:void computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3195:3195 -> a
+    1730:1730:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1964 -> a
+    1731:1737:void computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3192:3198 -> a
+    1731:1737:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1964 -> a
+    1738:1738:void computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3189:3189 -> a
+    1738:1738:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1964 -> a
+    1739:1810:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1974:2045 -> a
+    1811:1811:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2038:2038 -> a
+    1812:1887:int readStackMapFrame(int,boolean,boolean,com.android.tools.r8.org.objectweb.asm.Context):3249:3324 -> a
+    1812:1887:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2058 -> a
+    1888:1888:int readStackMapFrame(int,boolean,boolean,com.android.tools.r8.org.objectweb.asm.Context):3321:3321 -> a
+    1888:1888:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2058 -> a
+    1889:2289:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2067:2467 -> a
+    2290:2290:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2314:2314 -> a
+    2291:2291:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2313:2313 -> a
+    2292:2303:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int) -> a
+    2304:2304:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2295:2295 -> a
+    2305:2305:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2260:2260 -> a
+    2306:2511:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2258:2463 -> a
+    2512:2512:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2462:2462 -> a
+    2513:2516:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2322:2325 -> a
+    2517:2646:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2324:2453 -> a
+    2647:2662:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2429:2444 -> a
+    2663:2673:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2408:2418 -> a
+    2674:2684:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2354:2364 -> a
+    2685:2694:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2337:2346 -> a
+    2695:2695:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2253:2253 -> a
+    2696:2901:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2252:2457 -> a
+    2902:2902:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2231:2231 -> a
+    2903:3092:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2207:2396 -> a
+    3093:3093:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2391:2391 -> a
+    3094:3094:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2387:2387 -> a
+    3095:3095:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2383:2383 -> a
+    3096:3397:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2183:2484 -> a
+    3398:3427:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2483:2512 -> a
+    3428:3499:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2511:2582 -> a
+    3500:3529:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2581:2610 -> a
+    3530:3556:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2609:2635 -> a
+    3557:3557:void createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2679:2679 -> a
+    3558:3561:com.android.tools.r8.org.objectweb.asm.Label readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2649:2652 -> a
+    3558:3561:void createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2680 -> a
+    3562:3562:void createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2680:2680 -> a
+    3563:3568:int getTypeAnnotationBytecodeOffset(int[],int):2807:2812 -> a
+    3569:3627:int readTypeAnnotationTarget(com.android.tools.r8.org.objectweb.asm.Context,int):2828:2886 -> a
+    3628:3674:int readTypeAnnotationTarget(com.android.tools.r8.org.objectweb.asm.Context,int):2845:2891 -> a
+    3675:3688:void readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2914:2927 -> a
+    3689:3689:void readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2926:2926 -> a
+    3690:3707:int readElementValues(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,boolean,char[]):2956:2973 -> a
+    3708:3714:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2995:3001 -> a
+    3715:3868:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):2999:3152 -> a
+    3869:3876:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3040:3047 -> a
+    3877:3900:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3044:3067 -> a
+    3901:3979:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3066:3144 -> a
+    3980:3980:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3143:3143 -> a
+    3981:4018:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3082:3119 -> a
+    4019:4039:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3106:3126 -> a
+    4040:4051:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3125:3136 -> a
+    4052:4056:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3135:3139 -> a
+    4057:4062:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3098:3103 -> a
+    4063:4068:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3074:3079 -> a
+    4069:4072:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3032:3032 -> a
+    4073:4075:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3026:3026 -> a
+    4076:4076:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3022:3022 -> a
+    4077:4077:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3021:3021 -> a
+    4078:4080:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3013:3013 -> a
+    4081:4083:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3008:3008 -> a
+    4132:4132:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3057:3057 -> a
+    4133:4133:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3056:3056 -> a
+    4134:4166:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3349:3381 -> a
+    4167:4167:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3377:3377 -> a
+    4168:4168:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3373:3373 -> a
+    4169:4169:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3370:3370 -> a
+    4170:4170:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3367:3367 -> a
+    4171:4171:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3364:3364 -> a
+    4172:4172:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3361:3361 -> a
+    4173:4173:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3358:3358 -> a
+    4174:4174:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3355:3355 -> a
+    4175:4175:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3352:3352 -> a
+    4176:4205:int getFirstAttributeOffset():3400:3429 -> a
+    4206:4212:com.android.tools.r8.org.objectweb.asm.Attribute readAttribute(com.android.tools.r8.org.objectweb.asm.Attribute[],java.lang.String,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):3500:3506 -> a
+    4213:4213:int getItem(int):3533:3533 -> a
+    4214:4230:java.lang.String readUtf(int,int,char[]):3662:3678 -> a
+    4231:4231:java.lang.String readStringish(int,char[]):3697:3697 -> a
+    4231:4231:java.lang.String readClass(int,char[]):3712 -> a
+    1:4:com.android.tools.r8.org.objectweb.asm.Label readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2649:2652 -> b
+    1:4:com.android.tools.r8.org.objectweb.asm.Label createLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2665 -> b
+    5:5:com.android.tools.r8.org.objectweb.asm.Label createLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2666:2666 -> b
+    6:59:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2707:2760 -> b
+    60:112:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2723:2775 -> b
+    113:127:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2774:2788 -> b
+    128:152:int[] readBootstrapMethodsAttribute(int):3445:3469 -> b
+    153:153:int getItemCount():3519:3519 -> b
+    154:183:java.lang.Object readConst(int,char[]):3791:3820 -> b
+    184:200:com.android.tools.r8.org.objectweb.asm.ConstantDynamic readConstantDynamic(int,char[]):3756:3772 -> b
+    184:200:java.lang.Object readConst(int,char[]):3818 -> b
+    201:211:java.lang.Object readConst(int,char[]):3806:3816 -> b
+    212:212:java.lang.Object readConst(int,char[]):3804:3804 -> b
+    213:213:java.lang.Object readConst(int,char[]):3802:3802 -> b
+    214:214:java.lang.Object readConst(int,char[]):3800:3800 -> b
+    215:215:java.lang.Object readConst(int,char[]):3798:3798 -> b
+    216:216:java.lang.Object readConst(int,char[]):3796:3796 -> b
+    217:217:java.lang.Object readConst(int,char[]):3794:3794 -> b
+    1:1:int getMaxStringLength():3544:3544 -> c
+    2:2:int readByte(int):3555:3555 -> c
+    3:3:java.lang.String readStringish(int,char[]):3697:3697 -> c
+    3:3:java.lang.String readModule(int,char[]):3727 -> c
+    1:2:int readInt(int):3590:3591 -> d
+    3:3:java.lang.String readStringish(int,char[]):3697:3697 -> d
+    3:3:java.lang.String readPackage(int,char[]):3742 -> d
+    1:2:long readLong(int):3605:3606 -> e
+    3:7:java.lang.String readUTF8(int,char[]):3623:3627 -> e
+    1:2:short readShort(int):3578:3579 -> f
+    3:9:java.lang.String readUtf(int,char[]):3640:3646 -> f
+    1:2:int readUnsignedShort(int):3566:3567 -> g
 com.android.tools.r8.org.objectweb.asm.ClassTooLargeException -> com.android.tools.r8.z.a.a.g:
     java.lang.String className -> a
     int constantPoolCount -> b
@@ -59576,24 +59696,28 @@
     com.android.tools.r8.org.objectweb.asm.ClassVisitor cv -> b
     int api -> a
     1:1:void <init>(int):57:57 -> <init>
-    2:7:void <init>(int,com.android.tools.r8.org.objectweb.asm.ClassVisitor):68:73 -> <init>
-    1:2:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):99:100 -> a
-    3:4:void visitSource(java.lang.String,java.lang.String):113:114 -> a
-    5:9:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):129:133 -> a
-    10:10:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):130:130 -> a
-    11:15:void visitNestHost(java.lang.String):149:153 -> a
-    16:16:void visitNestHost(java.lang.String):150:150 -> a
-    17:18:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):168:169 -> a
-    19:20:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):182:183 -> a
-    21:25:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):205:209 -> a
-    26:26:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):206:206 -> a
-    27:28:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):220:221 -> a
-    29:30:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):257:258 -> a
-    31:32:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):286:287 -> a
-    33:34:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):314:315 -> a
-    35:36:void visitEnd():325:326 -> a
-    1:5:void visitNestMember(java.lang.String):235:239 -> b
-    6:6:void visitNestMember(java.lang.String):236:236 -> b
+    2:15:void <init>(int,com.android.tools.r8.org.objectweb.asm.ClassVisitor):69:82 -> <init>
+    1:2:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):108:109 -> a
+    3:4:void visitSource(java.lang.String,java.lang.String):122:123 -> a
+    5:9:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):138:142 -> a
+    10:10:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):139:139 -> a
+    11:15:void visitNestHost(java.lang.String):158:162 -> a
+    16:16:void visitNestHost(java.lang.String):159:159 -> a
+    17:18:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):177:178 -> a
+    19:20:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):191:192 -> a
+    21:25:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):214:218 -> a
+    26:26:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):215:215 -> a
+    27:28:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):229:230 -> a
+    29:30:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):284:285 -> a
+    31:32:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):334:335 -> a
+    33:34:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):362:363 -> a
+    35:36:void visitEnd():373:374 -> a
+    1:5:void visitNestMember(java.lang.String):244:248 -> b
+    6:6:void visitNestMember(java.lang.String):245:245 -> b
+    7:11:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):301:305 -> b
+    12:12:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):302:302 -> b
+    1:5:void visitPermittedSubtypeExperimental(java.lang.String):262:266 -> c
+    6:6:void visitPermittedSubtypeExperimental(java.lang.String):263:263 -> c
 com.android.tools.r8.org.objectweb.asm.ClassWriter -> com.android.tools.r8.z.a.a.i:
     int numberOfInnerClasses -> n
     com.android.tools.r8.org.objectweb.asm.FieldWriter firstField -> j
@@ -59601,18 +59725,21 @@
     int thisClass -> f
     com.android.tools.r8.org.objectweb.asm.ByteVector debugExtension -> t
     com.android.tools.r8.org.objectweb.asm.ModuleWriter moduleWriter -> y
+    int numberOfPermittedSubtypeClasses -> C
     int numberOfNestMemberClasses -> A
     com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation -> x
     com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> v
     com.android.tools.r8.org.objectweb.asm.MethodWriter firstMethod -> l
     com.android.tools.r8.org.objectweb.asm.ByteVector nestMemberClasses -> B
+    com.android.tools.r8.org.objectweb.asm.ByteVector permittedSubtypeClasses -> D
+    com.android.tools.r8.org.objectweb.asm.RecordComponentWriter lastRecordComponent -> F
     int sourceFileIndex -> s
     int enclosingMethodIndex -> q
     com.android.tools.r8.org.objectweb.asm.FieldWriter lastField -> k
     com.android.tools.r8.org.objectweb.asm.ByteVector innerClasses -> o
+    com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> G
+    int compute -> H
     int superClass -> g
-    com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> C
-    int compute -> D
     int accessFlags -> e
     int version -> c
     com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> d
@@ -59622,33 +59749,36 @@
     com.android.tools.r8.org.objectweb.asm.MethodWriter lastMethod -> m
     com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> u
     int signatureIndex -> r
+    com.android.tools.r8.org.objectweb.asm.RecordComponentWriter firstRecordComponent -> E
     int enclosingClassIndex -> p
-    1:8:void <init>(com.android.tools.r8.org.objectweb.asm.ClassReader,int):237:244 -> <init>
+    1:8:void <init>(com.android.tools.r8.org.objectweb.asm.ClassReader,int):257:264 -> <init>
     void visitEnd() -> a
-    1:16:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):260:275 -> a
-    17:20:void visitSource(java.lang.String,java.lang.String):282:285 -> a
-    21:26:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):292:297 -> a
-    27:27:void visitNestHost(java.lang.String):302:302 -> a
-    28:30:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):308:310 -> a
-    31:35:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):317:321 -> a
-    36:41:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):329:334 -> a
-    42:43:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):342:343 -> a
-    44:60:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):358:374 -> a
-    61:68:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):387:394 -> a
-    69:76:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):404:411 -> a
-    77:77:int newConst(java.lang.Object):714:714 -> a
-    1:5:void visitNestMember(java.lang.String):348:352 -> b
-    6:205:byte[] toByteArray():435:634 -> b
-    206:206:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.ByteVector):279:279 -> b
-    206:206:byte[] toByteArray():634 -> b
-    207:207:byte[] toByteArray():639:639 -> b
-    208:220:com.android.tools.r8.org.objectweb.asm.Attribute[] getAttributePrototypes():685:697 -> b
-    208:220:byte[] replaceAsmInstructions(byte[],boolean):656 -> b
-    208:220:byte[] toByteArray():639 -> b
-    221:240:byte[] replaceAsmInstructions(byte[],boolean):657:676 -> b
-    221:240:byte[] toByteArray():639 -> b
-    241:241:byte[] toByteArray():641:641 -> b
-    242:242:byte[] toByteArray():538:538 -> b
+    1:16:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):280:295 -> a
+    17:20:void visitSource(java.lang.String,java.lang.String):302:305 -> a
+    21:26:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):312:317 -> a
+    27:27:void visitNestHost(java.lang.String):322:322 -> a
+    28:30:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):328:330 -> a
+    31:35:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):337:341 -> a
+    36:41:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):349:354 -> a
+    42:43:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):362:363 -> a
+    44:60:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):394:410 -> a
+    61:68:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):436:443 -> a
+    69:76:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):453:460 -> a
+    77:77:int newConst(java.lang.Object):809:809 -> a
+    1:5:void visitNestMember(java.lang.String):368:372 -> b
+    6:13:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):419:426 -> b
+    14:250:byte[] toByteArray():484:720 -> b
+    251:251:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.ByteVector):279:279 -> b
+    251:251:byte[] toByteArray():720 -> b
+    252:252:byte[] toByteArray():725:725 -> b
+    253:270:com.android.tools.r8.org.objectweb.asm.Attribute[] getAttributePrototypes():775:792 -> b
+    253:270:byte[] replaceAsmInstructions(byte[],boolean):742 -> b
+    253:270:byte[] toByteArray():725 -> b
+    271:294:byte[] replaceAsmInstructions(byte[],boolean):743:766 -> b
+    271:294:byte[] toByteArray():725 -> b
+    295:295:byte[] toByteArray():727:727 -> b
+    296:296:byte[] toByteArray():606:606 -> b
+    1:5:void visitPermittedSubtypeExperimental(java.lang.String):384:388 -> c
 com.android.tools.r8.org.objectweb.asm.ConstantDynamic -> com.android.tools.r8.z.a.a.j:
     java.lang.Object[] bootstrapMethodArguments -> d
     java.lang.String name -> a
@@ -59693,12 +59823,12 @@
     1:4:void <init>(int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Edge):86:89 -> <init>
 com.android.tools.r8.org.objectweb.asm.FieldVisitor -> com.android.tools.r8.z.a.a.n:
     com.android.tools.r8.org.objectweb.asm.FieldVisitor fv -> a
-    1:1:void <init>(int):55:55 -> <init>
-    2:7:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):66:71 -> <init>
+    1:1:void <init>(int):57:57 -> <init>
+    2:15:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):69:82 -> <init>
     void visitEnd() -> a
     com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> a
-    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):83:84 -> a
-    3:4:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):119:120 -> a
+    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):94:95 -> a
+    3:4:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):130:131 -> a
 com.android.tools.r8.org.objectweb.asm.FieldWriter -> com.android.tools.r8.z.a.a.o:
     com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> h
     com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> i
@@ -59850,21 +59980,21 @@
     25:26:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):147 -> a
     27:28:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):147:148 -> a
 com.android.tools.r8.org.objectweb.asm.Label -> com.android.tools.r8.z.a.a.s:
-    com.android.tools.r8.org.objectweb.asm.Frame frame -> k
-    com.android.tools.r8.org.objectweb.asm.Edge outgoingEdges -> m
-    int bytecodeOffset -> e
-    int[] forwardReferences -> f
-    short inputStackSize -> g
-    short outputStackSize -> h
-    com.android.tools.r8.org.objectweb.asm.Label nextBasicBlock -> l
-    int[] otherLineNumbers -> d
-    short outputStackMax -> i
-    short subroutineId -> j
-    java.lang.Object info -> a
-    short lineNumber -> c
-    com.android.tools.r8.org.objectweb.asm.Label EMPTY_LIST -> o
-    short flags -> b
-    com.android.tools.r8.org.objectweb.asm.Label nextListElement -> n
+    int bytecodeOffset -> f
+    com.android.tools.r8.org.objectweb.asm.Edge outgoingEdges -> n
+    com.android.tools.r8.org.objectweb.asm.Frame frame -> l
+    com.android.tools.r8.org.objectweb.asm.Label EMPTY_LIST -> a
+    com.android.tools.r8.org.objectweb.asm.Label nextBasicBlock -> m
+    int[] forwardReferences -> g
+    short inputStackSize -> h
+    short subroutineId -> k
+    short outputStackSize -> i
+    int[] otherLineNumbers -> e
+    short outputStackMax -> j
+    java.lang.Object info -> b
+    short flags -> c
+    short lineNumber -> d
+    com.android.tools.r8.org.objectweb.asm.Label nextListElement -> o
     1:1:void <clinit>():130:130 -> <clinit>
     1:1:void <init>():289:289 -> <init>
     1:1:com.android.tools.r8.org.objectweb.asm.Label getCanonicalInstance():322:322 -> a
@@ -59891,100 +60021,100 @@
     int api -> h
     com.android.tools.r8.org.objectweb.asm.MethodVisitor mv -> i
     1:1:void <init>(int):71:71 -> <init>
-    2:7:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):82:87 -> <init>
-    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():119:120 -> a
-    3:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):134:135 -> a
-    5:6:void visitAnnotableParameterCount(int,boolean):182:183 -> a
-    7:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):203:204 -> a
-    9:10:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):215:216 -> a
-    11:12:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):290:291 -> a
-    13:14:void visitInsn(int):314:315 -> a
-    15:16:void visitTypeInsn(int,java.lang.String):364:365 -> a
-    17:18:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):381:382 -> a
-    19:19:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):421:421 -> a
-    20:20:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String):401:401 -> a
-    20:20:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):425 -> a
-    21:27:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):423:429 -> a
-    28:32:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):449:453 -> a
-    33:33:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):450:450 -> a
-    34:35:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):468:469 -> a
-    36:37:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):479:480 -> a
-    38:47:void visitLdcInsn(java.lang.Object):532:541 -> a
-    48:49:void visitIincInsn(int,int):552:553 -> a
-    50:51:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):568:569 -> a
-    52:53:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):582:583 -> a
-    54:55:void visitMultiANewArrayInsn(java.lang.String,int):594:595 -> a
-    56:60:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):620:624 -> a
-    61:61:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):621:621 -> a
-    62:63:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):646:647 -> a
-    64:65:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):698:699 -> a
-    66:70:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):731:735 -> a
-    71:71:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):732:732 -> a
-    1:5:void visitParameter(java.lang.String,int):102:106 -> b
-    6:6:void visitParameter(java.lang.String,int):103:103 -> b
-    7:8:void visitCode():222:223 -> b
-    9:10:void visitIntInsn(int,int):334:335 -> b
-    11:15:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):668:672 -> b
-    16:16:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):669:669 -> b
-    17:18:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):751:752 -> b
-    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):158:162 -> c
-    6:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):159:159 -> c
-    7:8:void visitMaxs(int,int):763:764 -> c
-    9:10:void visitEnd():773:774 -> c
-    1:2:void visitVarInsn(int,int):349:350 -> d
+    2:15:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):82:95 -> <init>
+    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():127:128 -> a
+    3:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):142:143 -> a
+    5:6:void visitAnnotableParameterCount(int,boolean):190:191 -> a
+    7:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):211:212 -> a
+    9:10:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):223:224 -> a
+    11:12:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):298:299 -> a
+    13:14:void visitInsn(int):322:323 -> a
+    15:16:void visitTypeInsn(int,java.lang.String):372:373 -> a
+    17:18:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):389:390 -> a
+    19:19:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):429:429 -> a
+    20:20:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String):409:409 -> a
+    20:20:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):433 -> a
+    21:27:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):431:437 -> a
+    28:32:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):457:461 -> a
+    33:33:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):458:458 -> a
+    34:35:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):476:477 -> a
+    36:37:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):487:488 -> a
+    38:47:void visitLdcInsn(java.lang.Object):540:549 -> a
+    48:49:void visitIincInsn(int,int):560:561 -> a
+    50:51:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):576:577 -> a
+    52:53:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):590:591 -> a
+    54:55:void visitMultiANewArrayInsn(java.lang.String,int):602:603 -> a
+    56:60:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):628:632 -> a
+    61:61:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):629:629 -> a
+    62:63:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):654:655 -> a
+    64:65:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):706:707 -> a
+    66:70:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):739:743 -> a
+    71:71:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):740:740 -> a
+    1:5:void visitParameter(java.lang.String,int):110:114 -> b
+    6:6:void visitParameter(java.lang.String,int):111:111 -> b
+    7:8:void visitCode():230:231 -> b
+    9:10:void visitIntInsn(int,int):342:343 -> b
+    11:15:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):676:680 -> b
+    16:16:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):677:677 -> b
+    17:18:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):759:760 -> b
+    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):166:170 -> c
+    6:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):167:167 -> c
+    7:8:void visitMaxs(int,int):771:772 -> c
+    9:10:void visitEnd():781:782 -> c
+    1:2:void visitVarInsn(int,int):357:358 -> d
 com.android.tools.r8.org.objectweb.asm.MethodWriter -> com.android.tools.r8.z.a.a.v:
-    boolean hasSubroutines -> d0
-    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> I
-    int nameIndex -> l
-    com.android.tools.r8.org.objectweb.asm.ByteVector code -> r
-    com.android.tools.r8.org.objectweb.asm.ByteVector lineNumberTable -> v
-    int signatureIndex -> G
-    com.android.tools.r8.org.objectweb.asm.ByteVector localVariableTypeTable -> z
-    com.android.tools.r8.org.objectweb.asm.AnnotationWriter[] lastRuntimeInvisibleParameterAnnotations -> M
-    int relativeStackSize -> X
-    int localVariableTypeTableLength -> y
-    int compute -> T
-    int lineNumberTableLength -> u
-    int maxLocals -> q
-    int invisibleAnnotableParameterCount -> L
-    int sourceLength -> h0
-    java.lang.String name -> m
-    com.android.tools.r8.org.objectweb.asm.Label currentBasicBlock -> W
-    int lastBytecodeOffset -> f0
-    com.android.tools.r8.org.objectweb.asm.ByteVector defaultValue -> P
-    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation -> N
-    int maxRelativeStackSize -> Y
-    com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> S
-    int parametersCount -> Q
-    int[] previousFrame -> b0
-    int descriptorIndex -> n
-    boolean hasAsmInstructions -> e0
-    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastCodeRuntimeVisibleTypeAnnotation -> C
-    com.android.tools.r8.org.objectweb.asm.Label lastBasicBlock -> V
-    int numberOfExceptions -> E
-    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation -> O
-    com.android.tools.r8.org.objectweb.asm.ByteVector localVariableTable -> x
-    int stackMapTableNumberOfEntries -> A
-    int currentLocals -> Z
-    com.android.tools.r8.org.objectweb.asm.ByteVector stackMapTableEntries -> B
-    com.android.tools.r8.org.objectweb.asm.Label firstBasicBlock -> U
-    int localVariableTableLength -> w
-    com.android.tools.r8.org.objectweb.asm.Handler lastHandler -> t
-    com.android.tools.r8.org.objectweb.asm.AnnotationWriter[] lastRuntimeVisibleParameterAnnotations -> K
-    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> H
-    int previousFrameOffset -> a0
-    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastCodeRuntimeInvisibleTypeAnnotation -> D
-    int visibleAnnotableParameterCount -> J
-    int accessFlags -> k
-    com.android.tools.r8.org.objectweb.asm.ByteVector parameters -> R
-    int sourceOffset -> g0
-    java.lang.String descriptor -> o
-    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> j
-    int[] exceptionIndexTable -> F
-    com.android.tools.r8.org.objectweb.asm.Handler firstHandler -> s
-    int[] STACK_SIZE_DELTA -> i0
-    int[] currentFrame -> c0
-    int maxStack -> p
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> I
+    int accessFlags -> l
+    boolean hasAsmInstructions -> f0
+    com.android.tools.r8.org.objectweb.asm.ByteVector defaultValue -> Q
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastCodeRuntimeInvisibleTypeAnnotation -> E
+    int visibleAnnotableParameterCount -> K
+    com.android.tools.r8.org.objectweb.asm.Label currentBasicBlock -> X
+    java.lang.String name -> n
+    com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> T
+    int[] STACK_SIZE_DELTA -> j
+    int maxStack -> q
+    int previousFrameOffset -> b0
+    int nameIndex -> m
+    int sourceOffset -> h0
+    int signatureIndex -> H
+    com.android.tools.r8.org.objectweb.asm.Label lastBasicBlock -> W
+    com.android.tools.r8.org.objectweb.asm.ByteVector localVariableTable -> y
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> J
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter[] lastRuntimeVisibleParameterAnnotations -> L
+    int localVariableTypeTableLength -> z
+    int relativeStackSize -> Y
+    int lineNumberTableLength -> v
+    int[] currentFrame -> d0
+    com.android.tools.r8.org.objectweb.asm.Handler lastHandler -> u
+    com.android.tools.r8.org.objectweb.asm.ByteVector stackMapTableEntries -> C
+    int compute -> U
+    int maxLocals -> r
+    boolean hasSubroutines -> e0
+    int invisibleAnnotableParameterCount -> M
+    com.android.tools.r8.org.objectweb.asm.Label firstBasicBlock -> V
+    com.android.tools.r8.org.objectweb.asm.ByteVector parameters -> S
+    java.lang.String descriptor -> p
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation -> O
+    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> k
+    int[] exceptionIndexTable -> G
+    int maxRelativeStackSize -> Z
+    com.android.tools.r8.org.objectweb.asm.Handler firstHandler -> t
+    int parametersCount -> R
+    int descriptorIndex -> o
+    int currentLocals -> a0
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastCodeRuntimeVisibleTypeAnnotation -> D
+    int lastBytecodeOffset -> g0
+    int numberOfExceptions -> F
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation -> P
+    com.android.tools.r8.org.objectweb.asm.ByteVector code -> s
+    int sourceLength -> i0
+    int stackMapTableNumberOfEntries -> B
+    com.android.tools.r8.org.objectweb.asm.ByteVector lineNumberTable -> w
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter[] lastRuntimeInvisibleParameterAnnotations -> N
+    com.android.tools.r8.org.objectweb.asm.ByteVector localVariableTypeTable -> A
+    int localVariableTableLength -> x
+    int[] previousFrame -> c0
     1:1:void <clinit>():81:81 -> <clinit>
     1:1:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],int):595:595 -> <init>
     2:306:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],int):320:624 -> <init>
@@ -60123,7 +60253,7 @@
     108:111:void visitFrameEnd():1851:1854 -> h
 com.android.tools.r8.org.objectweb.asm.ModuleVisitor -> com.android.tools.r8.z.a.a.w:
     1:1:void <init>(int):57:57 -> <init>
-    2:4:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):68:70 -> <init>
+    2:12:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):68:78 -> <init>
     void visitExport(java.lang.String,int,java.lang.String[]) -> a
     void visitMainClass(java.lang.String) -> a
     void visitProvide(java.lang.String,java.lang.String[]) -> a
@@ -60168,8 +60298,34 @@
     java.lang.Integer UNINITIALIZED_THIS -> g
     java.lang.Integer TOP -> a
     java.lang.Integer INTEGER -> b
-    1:7:void <clinit>():377:383 -> <clinit>
-com.android.tools.r8.org.objectweb.asm.SymbolTable -> com.android.tools.r8.z.a.a.A:
+    1:7:void <clinit>():387:393 -> <clinit>
+com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor -> com.android.tools.r8.z.a.a.z:
+    com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor delegate -> a
+    1:1:void <init>(int):56:56 -> <init>
+    2:15:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):67:80 -> <init>
+    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean) -> a
+    void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute) -> a
+    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> a
+com.android.tools.r8.org.objectweb.asm.RecordComponentWriter -> com.android.tools.r8.z.a.a.A:
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation -> h
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation -> i
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> f
+    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> g
+    com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> j
+    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> b
+    int descriptorIndex -> d
+    int signatureIndex -> e
+    int nameIndex -> c
+    1:6:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,java.lang.String,java.lang.String):97:102 -> <init>
+    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):113:117 -> a
+    6:11:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):125:130 -> a
+    12:13:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):138:139 -> a
+    14:22:int computeRecordComponentInfoSize():161:169 -> a
+    23:55:void putRecordComponentInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):181:213 -> a
+    56:56:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.ByteVector):279:279 -> a
+    56:56:void putRecordComponentInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):213 -> a
+    57:57:void collectAttributePrototypes(com.android.tools.r8.org.objectweb.asm.Attribute$Set):223:223 -> a
+com.android.tools.r8.org.objectweb.asm.SymbolTable -> com.android.tools.r8.z.a.a.C:
     com.android.tools.r8.org.objectweb.asm.ClassWriter classWriter -> a
     int typeCount -> k
     int bootstrapMethodCount -> i
@@ -60236,46 +60392,46 @@
     87:87:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDouble(double):681:681 -> a
     88:98:com.android.tools.r8.org.objectweb.asm.Symbol addConstantLongOrDouble(int,long):694:704 -> a
     99:100:com.android.tools.r8.org.objectweb.asm.Symbol addConstantInvokeDynamic(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):905:906 -> a
-    101:124:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1040:1063 -> a
-    125:125:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1058:1058 -> a
-    126:144:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1057:1075 -> a
-    145:145:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(int,int,int):1094:1094 -> a
-    145:145:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1080 -> a
-    146:146:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry get(int):394:394 -> a
-    146:146:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(int,int,int):1095 -> a
-    146:146:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1080 -> a
-    147:163:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(int,int,int):1097:1113 -> a
-    147:163:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1080 -> a
-    164:173:int addTypeInternal(com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry):1214:1223 -> a
-    174:174:int hash(int,java.lang.String):1239:1239 -> a
-    174:174:com.android.tools.r8.org.objectweb.asm.Symbol addConstantUtf8Reference(int,java.lang.String):999 -> a
-    175:183:com.android.tools.r8.org.objectweb.asm.Symbol addConstantUtf8Reference(int,java.lang.String):1000:1008 -> a
-    184:184:int hash(int,java.lang.String,int):1243:1243 -> a
-    184:184:int addUninitializedType(java.lang.String,int):1159 -> a
-    185:195:int addUninitializedType(java.lang.String,int):1160:1170 -> a
-    196:196:int hash(int,java.lang.String,java.lang.String):1247:1247 -> a
-    196:196:int addConstantNameAndType(java.lang.String,java.lang.String):729 -> a
-    197:208:int addConstantNameAndType(java.lang.String,java.lang.String):730:741 -> a
-    209:209:int hash(int,java.lang.String,java.lang.String,int):1252:1252 -> a
-    209:209:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDynamicOrInvokeDynamicReference(int,java.lang.String,java.lang.String,int):924 -> a
-    210:222:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDynamicOrInvokeDynamicReference(int,java.lang.String,java.lang.String,int):925:937 -> a
-    223:223:int hash(int,java.lang.String,java.lang.String,java.lang.String):1257:1257 -> a
-    223:223:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):559 -> a
-    224:235:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):560:571 -> a
-    236:236:com.android.tools.r8.org.objectweb.asm.Symbol addConstantClass(java.lang.String):513:513 -> a
-    236:236:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):572 -> a
-    237:237:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):572:572 -> a
-    238:240:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):571:573 -> a
-    241:241:int hash(int,java.lang.String,java.lang.String,java.lang.String,int):1266:1266 -> a
-    241:241:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):811 -> a
-    242:255:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):812:825 -> a
-    256:256:com.android.tools.r8.org.objectweb.asm.Symbol addConstantFieldref(java.lang.String,java.lang.String,java.lang.String):526:526 -> a
-    256:256:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):825 -> a
-    257:259:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):825:827 -> a
-    260:260:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodref(java.lang.String,java.lang.String,java.lang.String,boolean):542:542 -> a
-    260:260:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):828 -> a
-    261:261:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):828:828 -> a
-    262:265:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):827:830 -> a
+    101:126:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1040:1065 -> a
+    127:127:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1060:1060 -> a
+    128:146:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1059:1077 -> a
+    147:147:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(int,int,int):1096:1096 -> a
+    147:147:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1082 -> a
+    148:148:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry get(int):394:394 -> a
+    148:148:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(int,int,int):1097 -> a
+    148:148:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1082 -> a
+    149:165:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(int,int,int):1099:1115 -> a
+    149:165:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1082 -> a
+    166:175:int addTypeInternal(com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry):1216:1225 -> a
+    176:176:int hash(int,java.lang.String):1241:1241 -> a
+    176:176:com.android.tools.r8.org.objectweb.asm.Symbol addConstantUtf8Reference(int,java.lang.String):999 -> a
+    177:185:com.android.tools.r8.org.objectweb.asm.Symbol addConstantUtf8Reference(int,java.lang.String):1000:1008 -> a
+    186:186:int hash(int,java.lang.String,int):1245:1245 -> a
+    186:186:int addUninitializedType(java.lang.String,int):1161 -> a
+    187:197:int addUninitializedType(java.lang.String,int):1162:1172 -> a
+    198:198:int hash(int,java.lang.String,java.lang.String):1249:1249 -> a
+    198:198:int addConstantNameAndType(java.lang.String,java.lang.String):729 -> a
+    199:210:int addConstantNameAndType(java.lang.String,java.lang.String):730:741 -> a
+    211:211:int hash(int,java.lang.String,java.lang.String,int):1254:1254 -> a
+    211:211:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDynamicOrInvokeDynamicReference(int,java.lang.String,java.lang.String,int):924 -> a
+    212:224:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDynamicOrInvokeDynamicReference(int,java.lang.String,java.lang.String,int):925:937 -> a
+    225:225:int hash(int,java.lang.String,java.lang.String,java.lang.String):1259:1259 -> a
+    225:225:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):559 -> a
+    226:237:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):560:571 -> a
+    238:238:com.android.tools.r8.org.objectweb.asm.Symbol addConstantClass(java.lang.String):513:513 -> a
+    238:238:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):572 -> a
+    239:239:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):572:572 -> a
+    240:242:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):571:573 -> a
+    243:243:int hash(int,java.lang.String,java.lang.String,java.lang.String,int):1268:1268 -> a
+    243:243:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):811 -> a
+    244:257:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):812:825 -> a
+    258:258:com.android.tools.r8.org.objectweb.asm.Symbol addConstantFieldref(java.lang.String,java.lang.String,java.lang.String):526:526 -> a
+    258:258:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):825 -> a
+    259:261:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):825:827 -> a
+    262:262:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodref(java.lang.String,java.lang.String,java.lang.String,boolean):542:542 -> a
+    262:262:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):828 -> a
+    263:263:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):828:828 -> a
+    264:267:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):827:830 -> a
     1:1:java.lang.String getClassName():306:306 -> b
     2:3:int setMajorVersionAndClassName(int,java.lang.String):318:319 -> b
     4:4:com.android.tools.r8.org.objectweb.asm.Symbol addConstantClass(java.lang.String):513:513 -> b
@@ -60285,33 +60441,33 @@
     7:7:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry get(int):394:394 -> b
     8:27:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry put(com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry):407:426 -> b
     28:28:com.android.tools.r8.org.objectweb.asm.Symbol addConstantModule(java.lang.String):972:972 -> b
-    29:39:int addMergedType(int,int):1190:1200 -> b
+    29:39:int addMergedType(int,int):1192:1202 -> b
     40:40:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):0:0 -> b
-    40:40:int addMergedType(int,int):1200 -> b
-    41:41:java.lang.ClassLoader com.android.tools.r8.org.objectweb.asm.ClassWriter.getClassLoader():963:963 -> b
-    41:41:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):926 -> b
-    41:41:int addMergedType(int,int):1200 -> b
-    42:64:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):929:951 -> b
-    42:64:int addMergedType(int,int):1200 -> b
-    65:66:int addMergedType(int,int):1200:1201 -> b
-    67:67:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):937:937 -> b
-    67:67:int addMergedType(int,int):1200 -> b
-    68:68:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):931:931 -> b
-    68:68:int addMergedType(int,int):1200 -> b
+    40:40:int addMergedType(int,int):1202 -> b
+    41:41:java.lang.ClassLoader com.android.tools.r8.org.objectweb.asm.ClassWriter.getClassLoader():1058:1058 -> b
+    41:41:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1021 -> b
+    41:41:int addMergedType(int,int):1202 -> b
+    42:64:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1024:1046 -> b
+    42:64:int addMergedType(int,int):1202 -> b
+    65:66:int addMergedType(int,int):1202:1203 -> b
+    67:67:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1032:1032 -> b
+    67:67:int addMergedType(int,int):1202 -> b
+    68:68:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1026:1026 -> b
+    68:68:int addMergedType(int,int):1202 -> b
     int hash(int,int) -> c
     1:1:int getConstantPoolCount():329:329 -> c
     2:2:com.android.tools.r8.org.objectweb.asm.Symbol addConstantPackage(java.lang.String):983:983 -> c
-    3:3:com.android.tools.r8.org.objectweb.asm.Symbol getType(int):1127:1127 -> c
+    3:3:com.android.tools.r8.org.objectweb.asm.Symbol getType(int):1129:1129 -> c
     1:1:int getConstantPoolLength():338:338 -> d
-    2:2:int hash(int,java.lang.String):1239:1239 -> d
+    2:2:int hash(int,java.lang.String):1241:1241 -> d
     2:2:int addConstantUtf8(java.lang.String):764 -> d
     3:13:int addConstantUtf8(java.lang.String):765:775 -> d
     1:1:int getMajorVersion():297:297 -> e
-    2:2:int hash(int,java.lang.String):1239:1239 -> e
-    2:2:int addType(java.lang.String):1138 -> e
-    3:10:int addType(java.lang.String):1139:1146 -> e
+    2:2:int hash(int,java.lang.String):1241:1241 -> e
+    2:2:int addType(java.lang.String):1140 -> e
+    3:10:int addType(java.lang.String):1141:1148 -> e
     1:1:com.android.tools.r8.org.objectweb.asm.ClassReader getSource():288:288 -> f
-com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry -> com.android.tools.r8.z.a.a.z:
+com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry -> com.android.tools.r8.z.a.a.B:
     long com.android.tools.r8.org.objectweb.asm.Symbol.data -> f
     int hashCode -> h
     int com.android.tools.r8.org.objectweb.asm.Symbol.info -> g
@@ -60322,36 +60478,36 @@
     int com.android.tools.r8.org.objectweb.asm.Symbol.index -> a
     java.lang.String com.android.tools.r8.org.objectweb.asm.Symbol.name -> d
     1:7:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
-    1:7:void <init>(int,int,long,int):1316 -> <init>
-    8:8:void <init>(int,int,long,int):1317:1317 -> <init>
+    1:7:void <init>(int,int,long,int):1318 -> <init>
+    8:8:void <init>(int,int,long,int):1319:1319 -> <init>
     9:15:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
-    9:15:void <init>(int,int,java.lang.String,int):1300 -> <init>
-    16:16:void <init>(int,int,java.lang.String,int):1301:1301 -> <init>
+    9:15:void <init>(int,int,java.lang.String,int):1302 -> <init>
+    16:16:void <init>(int,int,java.lang.String,int):1303:1303 -> <init>
     17:23:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
-    17:23:void <init>(int,int,java.lang.String,long,int):1305 -> <init>
-    24:24:void <init>(int,int,java.lang.String,long,int):1306:1306 -> <init>
+    17:23:void <init>(int,int,java.lang.String,long,int):1307 -> <init>
+    24:24:void <init>(int,int,java.lang.String,long,int):1308:1308 -> <init>
     25:31:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
-    25:31:void <init>(int,int,java.lang.String,java.lang.String,int):1311 -> <init>
-    32:32:void <init>(int,int,java.lang.String,java.lang.String,int):1312:1312 -> <init>
+    25:31:void <init>(int,int,java.lang.String,java.lang.String,int):1313 -> <init>
+    32:32:void <init>(int,int,java.lang.String,java.lang.String,int):1314:1314 -> <init>
     33:39:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
-    33:39:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,long,int):1295 -> <init>
-    40:40:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,long,int):1296:1296 -> <init>
+    33:39:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,long,int):1297 -> <init>
+    40:40:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,long,int):1298:1298 -> <init>
     1:4:int com.android.tools.r8.org.objectweb.asm.Symbol.getArgumentsAndReturnSizes():238:241 -> a
     1:4:int com.android.tools.r8.org.objectweb.asm.Symbol.getArgumentsAndReturnSizes():0 -> a
-com.android.tools.r8.org.objectweb.asm.Type -> com.android.tools.r8.z.a.a.B:
-    com.android.tools.r8.org.objectweb.asm.Type FLOAT_TYPE -> k
-    com.android.tools.r8.org.objectweb.asm.Type INT_TYPE -> j
-    com.android.tools.r8.org.objectweb.asm.Type DOUBLE_TYPE -> m
-    com.android.tools.r8.org.objectweb.asm.Type LONG_TYPE -> l
-    int valueEnd -> d
-    int valueBegin -> c
-    int sort -> a
-    com.android.tools.r8.org.objectweb.asm.Type VOID_TYPE -> e
-    com.android.tools.r8.org.objectweb.asm.Type CHAR_TYPE -> g
-    com.android.tools.r8.org.objectweb.asm.Type BOOLEAN_TYPE -> f
-    java.lang.String valueBuffer -> b
-    com.android.tools.r8.org.objectweb.asm.Type SHORT_TYPE -> i
-    com.android.tools.r8.org.objectweb.asm.Type BYTE_TYPE -> h
+com.android.tools.r8.org.objectweb.asm.Type -> com.android.tools.r8.z.a.a.D:
+    int valueBegin -> l
+    int valueEnd -> m
+    int sort -> j
+    java.lang.String valueBuffer -> k
+    com.android.tools.r8.org.objectweb.asm.Type VOID_TYPE -> a
+    com.android.tools.r8.org.objectweb.asm.Type CHAR_TYPE -> c
+    com.android.tools.r8.org.objectweb.asm.Type BOOLEAN_TYPE -> b
+    com.android.tools.r8.org.objectweb.asm.Type SHORT_TYPE -> e
+    com.android.tools.r8.org.objectweb.asm.Type BYTE_TYPE -> d
+    com.android.tools.r8.org.objectweb.asm.Type FLOAT_TYPE -> g
+    com.android.tools.r8.org.objectweb.asm.Type INT_TYPE -> f
+    com.android.tools.r8.org.objectweb.asm.Type DOUBLE_TYPE -> i
+    com.android.tools.r8.org.objectweb.asm.Type LONG_TYPE -> h
     1:26:void <clinit>():85:110 -> <clinit>
     1:5:void <init>(int,java.lang.String,int,int):159:163 -> <init>
     1:30:com.android.tools.r8.org.objectweb.asm.Type[] getArgumentTypes(java.lang.String):302:331 -> a
@@ -60375,7 +60531,7 @@
     1:1:com.android.tools.r8.org.objectweb.asm.Type getType(java.lang.String):177:177 -> g
     1:4:int hashCode():877:880 -> hashCode
     1:1:java.lang.String toString():893:893 -> toString
-com.android.tools.r8.org.objectweb.asm.TypePath -> com.android.tools.r8.z.a.a.C:
+com.android.tools.r8.org.objectweb.asm.TypePath -> com.android.tools.r8.z.a.a.E:
     byte[] typePathContainer -> a
     int typePathOffset -> b
     1:3:void <init>(byte[],int):72:74 -> <init>
@@ -60392,63 +60548,74 @@
     7:7:java.lang.String toString():174:174 -> toString
     8:8:java.lang.String toString():171:171 -> toString
     9:24:java.lang.String toString():168:183 -> toString
-com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter -> com.android.tools.r8.z.a.a.D.b:
+com.android.tools.r8.org.objectweb.asm.TypeReference -> com.android.tools.r8.z.a.a.F:
+    1:2:void com.android.tools.r8.org.objectweb.asm.Constants.checkAsmExperimental(java.lang.Object):186:187 -> a
+    3:10:boolean com.android.tools.r8.org.objectweb.asm.Constants.isWhitelisted(java.lang.String):194:201 -> a
+    3:10:void com.android.tools.r8.org.objectweb.asm.Constants.checkAsmExperimental(java.lang.Object):188 -> a
+    11:11:void com.android.tools.r8.org.objectweb.asm.Constants.checkAsmExperimental(java.lang.Object):189:189 -> a
+    12:20:void com.android.tools.r8.org.objectweb.asm.Constants.checkIsPreview(java.io.InputStream):210:210 -> a
+    12:20:void com.android.tools.r8.org.objectweb.asm.Constants.checkAsmExperimental(java.lang.Object):189 -> a
+    23:24:void com.android.tools.r8.org.objectweb.asm.Constants.checkIsPreview(java.io.InputStream):213:214 -> a
+    23:24:void com.android.tools.r8.org.objectweb.asm.Constants.checkAsmExperimental(java.lang.Object):189 -> a
+    25:25:void com.android.tools.r8.org.objectweb.asm.Constants.checkIsPreview(java.io.InputStream):207:207 -> a
+    25:25:void com.android.tools.r8.org.objectweb.asm.Constants.checkAsmExperimental(java.lang.Object):189 -> a
+com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter -> com.android.tools.r8.z.a.a.G.b:
     java.util.BitSet sharedSubroutineInsns -> F
     java.util.Map subroutinesInsns -> E
     java.util.BitSet mainSubroutineInsns -> D
     1:1:void <init>(com.android.tools.r8.org.objectweb.asm.MethodVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):101:101 -> <init>
-    2:2:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):129:129 -> <init>
-    3:68:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):65:130 -> <init>
-    1:4:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):135:138 -> a
-    5:27:void findReachableInsns(int,java.util.BitSet,java.util.BitSet):231:253 -> a
-    28:36:void findReachableInsns(int,java.util.BitSet,java.util.BitSet):252:260 -> a
-    37:45:void findReachableInsns(int,java.util.BitSet,java.util.BitSet):259:267 -> a
-    1:20:void findSubroutineInsns(int,java.util.BitSet,java.util.BitSet):181:200 -> b
-    1:1:void visitEnd():144:144 -> c
-    2:8:void findSubroutinesInsns():157:163 -> c
-    2:8:void visitEnd():146 -> c
-    9:18:void emitCode():294:303 -> c
-    9:18:void visitEnd():147 -> c
-    19:23:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):332:336 -> c
-    19:23:void emitCode():304 -> c
-    19:23:void visitEnd():147 -> c
-    24:24:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):538:538 -> c
-    24:24:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):337 -> c
-    24:24:void emitCode():304 -> c
-    24:24:void visitEnd():147 -> c
-    25:43:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):339:357 -> c
-    25:43:void emitCode():304 -> c
-    25:43:void visitEnd():147 -> c
-    44:55:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):355:366 -> c
-    44:55:void emitCode():304 -> c
-    44:55:void visitEnd():147 -> c
-    56:90:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):363:397 -> c
-    56:90:void emitCode():304 -> c
-    56:90:void visitEnd():147 -> c
-    91:102:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):395:406 -> c
-    91:102:void emitCode():304 -> c
-    91:102:void visitEnd():147 -> c
-    103:105:void emitCode():307:309 -> c
-    103:105:void visitEnd():147 -> c
-    106:107:void visitEnd():149:150 -> c
-com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation -> com.android.tools.r8.z.a.a.D.a:
+    2:2:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):137:137 -> <init>
+    3:76:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):65:138 -> <init>
+    1:4:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):143:146 -> a
+    5:27:void findReachableInsns(int,java.util.BitSet,java.util.BitSet):239:261 -> a
+    28:36:void findReachableInsns(int,java.util.BitSet,java.util.BitSet):260:268 -> a
+    37:45:void findReachableInsns(int,java.util.BitSet,java.util.BitSet):267:275 -> a
+    1:20:void findSubroutineInsns(int,java.util.BitSet,java.util.BitSet):189:208 -> b
+    1:1:void visitEnd():152:152 -> c
+    2:8:void findSubroutinesInsns():165:171 -> c
+    2:8:void visitEnd():154 -> c
+    9:18:void emitCode():302:311 -> c
+    9:18:void visitEnd():155 -> c
+    19:23:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):340:344 -> c
+    19:23:void emitCode():312 -> c
+    19:23:void visitEnd():155 -> c
+    24:24:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):546:546 -> c
+    24:24:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):345 -> c
+    24:24:void emitCode():312 -> c
+    24:24:void visitEnd():155 -> c
+    25:43:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):347:365 -> c
+    25:43:void emitCode():312 -> c
+    25:43:void visitEnd():155 -> c
+    44:55:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):363:374 -> c
+    44:55:void emitCode():312 -> c
+    44:55:void visitEnd():155 -> c
+    56:90:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):371:405 -> c
+    56:90:void emitCode():312 -> c
+    56:90:void visitEnd():155 -> c
+    91:102:void emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):403:414 -> c
+    91:102:void emitCode():312 -> c
+    91:102:void visitEnd():155 -> c
+    103:105:void emitCode():315:317 -> c
+    103:105:void visitEnd():155 -> c
+    106:107:void visitEnd():157:158 -> c
+com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation -> com.android.tools.r8.z.a.a.G.a:
     java.util.Map clonedLabels -> c
     com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation parent -> a
     java.util.BitSet subroutineInsns -> b
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode returnLabel -> d
     com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter this$0 -> e
-    1:5:void <init>(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter,com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.BitSet):446:450 -> <init>
-    6:29:void <init>(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter,com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.BitSet):449:472 -> <init>
-    1:11:com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation findOwner(int):499:509 -> a
-    12:12:com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation findOwner(int):508:508 -> a
-    13:13:com.android.tools.r8.org.objectweb.asm.tree.LabelNode getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):538:538 -> a
-    1:1:com.android.tools.r8.org.objectweb.asm.tree.LabelNode getClonedLabelForJumpInsn(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):526:526 -> b
-    1:1:java.util.Set entrySet():545:545 -> entrySet
-    1:1:boolean equals(java.lang.Object):555:555 -> equals
-    1:1:com.android.tools.r8.org.objectweb.asm.tree.LabelNode get(java.lang.Object):550:550 -> get
-    1:1:java.lang.Object get(java.lang.Object):419 -> get
-    1:1:int hashCode():560:560 -> hashCode
-com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode -> com.android.tools.r8.z.a.a.E.a:
+    1:5:void <init>(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter,com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.BitSet):454:458 -> <init>
+    6:29:void <init>(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter,com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.BitSet):457:480 -> <init>
+    1:11:com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation findOwner(int):507:517 -> a
+    12:12:com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation findOwner(int):516:516 -> a
+    13:13:com.android.tools.r8.org.objectweb.asm.tree.LabelNode getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):546:546 -> a
+    1:1:com.android.tools.r8.org.objectweb.asm.tree.LabelNode getClonedLabelForJumpInsn(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):534:534 -> b
+    1:1:java.util.Set entrySet():553:553 -> entrySet
+    1:1:boolean equals(java.lang.Object):563:563 -> equals
+    1:1:com.android.tools.r8.org.objectweb.asm.tree.LabelNode get(java.lang.Object):558:558 -> get
+    1:1:java.lang.Object get(java.lang.Object):427 -> get
+    1:1:int hashCode():568:568 -> hashCode
+com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode -> com.android.tools.r8.z.a.a.H.a:
     java.util.List visibleTypeAnnotations -> b
     java.util.List invisibleTypeAnnotations -> c
     int index -> f
@@ -60465,41 +60632,41 @@
     1:5:void acceptAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor):180:184 -> b
     6:15:void acceptAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor):183:192 -> b
     16:16:void acceptAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor):191:191 -> b
-com.android.tools.r8.org.objectweb.asm.tree.AnnotationNode -> com.android.tools.r8.z.a.a.E.b:
+com.android.tools.r8.org.objectweb.asm.tree.AnnotationNode -> com.android.tools.r8.z.a.a.H.b:
     java.util.List values -> b
     java.lang.String desc -> a
     1:3:void <init>(java.lang.String):63:65 -> <init>
-    4:5:void <init>(int,java.lang.String):77:78 -> <init>
-    6:7:void <init>(java.util.List):87:88 -> <init>
+    4:5:void <init>(int,java.lang.String):78:79 -> <init>
+    6:7:void <init>(java.util.List):88:89 -> <init>
     void visitEnd() -> a
-    1:8:void visit(java.lang.String,java.lang.Object):97:104 -> a
+    1:8:void visit(java.lang.String,java.lang.Object):98:105 -> a
     9:13:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(byte[]):70:74 -> a
-    9:13:void visit(java.lang.String,java.lang.Object):104 -> a
-    14:16:void visit(java.lang.String,java.lang.Object):104:106 -> a
+    9:13:void visit(java.lang.String,java.lang.Object):105 -> a
+    14:16:void visit(java.lang.String,java.lang.Object):105:107 -> a
     17:21:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(boolean[]):81:85 -> a
-    17:21:void visit(java.lang.String,java.lang.Object):106 -> a
-    22:24:void visit(java.lang.String,java.lang.Object):106:108 -> a
+    17:21:void visit(java.lang.String,java.lang.Object):107 -> a
+    22:24:void visit(java.lang.String,java.lang.Object):107:109 -> a
     25:29:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(short[]):92:96 -> a
-    25:29:void visit(java.lang.String,java.lang.Object):108 -> a
-    30:32:void visit(java.lang.String,java.lang.Object):108:110 -> a
+    25:29:void visit(java.lang.String,java.lang.Object):109 -> a
+    30:32:void visit(java.lang.String,java.lang.Object):109:111 -> a
     33:37:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(char[]):103:107 -> a
-    33:37:void visit(java.lang.String,java.lang.Object):110 -> a
-    38:42:void visit(java.lang.String,java.lang.Object):110:114 -> a
+    33:37:void visit(java.lang.String,java.lang.Object):111 -> a
+    38:42:void visit(java.lang.String,java.lang.Object):111:115 -> a
     43:47:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(long[]):136:140 -> a
-    43:47:void visit(java.lang.String,java.lang.Object):114 -> a
-    48:50:void visit(java.lang.String,java.lang.Object):114:116 -> a
+    43:47:void visit(java.lang.String,java.lang.Object):115 -> a
+    48:50:void visit(java.lang.String,java.lang.Object):115:117 -> a
     51:55:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(float[]):125:129 -> a
-    51:55:void visit(java.lang.String,java.lang.Object):116 -> a
-    56:58:void visit(java.lang.String,java.lang.Object):116:118 -> a
+    51:55:void visit(java.lang.String,java.lang.Object):117 -> a
+    56:58:void visit(java.lang.String,java.lang.Object):117:119 -> a
     59:63:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(double[]):147:151 -> a
-    59:63:void visit(java.lang.String,java.lang.Object):118 -> a
-    64:66:void visit(java.lang.String,java.lang.Object):118:120 -> a
-    67:73:void visitEnum(java.lang.String,java.lang.String,java.lang.String):126:132 -> a
-    74:81:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):137:144 -> a
-    82:90:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):150:158 -> a
-    91:98:void accept(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):189:196 -> a
-    99:115:void accept(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,java.lang.Object):210:226 -> a
-com.android.tools.r8.org.objectweb.asm.tree.FieldInsnNode -> com.android.tools.r8.z.a.a.E.c:
+    59:63:void visit(java.lang.String,java.lang.Object):119 -> a
+    64:66:void visit(java.lang.String,java.lang.Object):119:121 -> a
+    67:73:void visitEnum(java.lang.String,java.lang.String,java.lang.String):127:133 -> a
+    74:81:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):138:145 -> a
+    82:90:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):151:159 -> a
+    91:98:void accept(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):190:197 -> a
+    99:115:void accept(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,java.lang.Object):211:227 -> a
+com.android.tools.r8.org.objectweb.asm.tree.FieldInsnNode -> com.android.tools.r8.z.a.a.H.c:
     java.lang.String owner -> g
     java.lang.String desc -> i
     java.lang.String name -> h
@@ -60507,7 +60674,7 @@
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):88:89 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):94:94 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.FrameNode -> com.android.tools.r8.z.a.a.E.d:
+com.android.tools.r8.org.objectweb.asm.tree.FrameNode -> com.android.tools.r8.z.a.a.H.d:
     int type -> g
     java.util.List stack -> i
     java.util.List local -> h
@@ -60526,14 +60693,14 @@
     25:44:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):152:171 -> a
     45:51:java.lang.Object[] asArray(java.util.List):178:184 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.IincInsnNode -> com.android.tools.r8.z.a.a.E.e:
+com.android.tools.r8.org.objectweb.asm.tree.IincInsnNode -> com.android.tools.r8.z.a.a.H.e:
     int incr -> h
     int var -> g
     1:3:void <init>(int,int):54:56 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:67 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.InsnList -> com.android.tools.r8.z.a.a.E.f:
+com.android.tools.r8.org.objectweb.asm.tree.InsnList -> com.android.tools.r8.z.a.a.H.f:
     com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode[] cache -> d
     com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode firstInsn -> b
     int size -> a
@@ -60555,7 +60722,7 @@
     1:1:java.util.ListIterator iterator():156 -> iterator
     1:1:java.util.Iterator iterator():38 -> iterator
     1:1:int size():61:61 -> size
-com.android.tools.r8.org.objectweb.asm.tree.InsnList$InsnListIterator -> com.android.tools.r8.z.a.a.E.f$a:
+com.android.tools.r8.org.objectweb.asm.tree.InsnList$InsnListIterator -> com.android.tools.r8.z.a.a.H.f$a:
     com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode nextInsn -> a
     com.android.tools.r8.org.objectweb.asm.tree.InsnList this$0 -> d
     com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode previousInsn -> b
@@ -60572,18 +60739,18 @@
     1:7:int previousIndex():561:567 -> previousIndex
     1:10:void remove():518:527 -> remove
     1:9:void set(java.lang.Object):585:593 -> set
-com.android.tools.r8.org.objectweb.asm.tree.InsnNode -> com.android.tools.r8.z.a.a.E.g:
+com.android.tools.r8.org.objectweb.asm.tree.InsnNode -> com.android.tools.r8.z.a.a.H.g:
     1:1:void <init>(int):55:55 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):65:66 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):71:71 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.IntInsnNode -> com.android.tools.r8.z.a.a.E.h:
+com.android.tools.r8.org.objectweb.asm.tree.IntInsnNode -> com.android.tools.r8.z.a.a.H.h:
     int operand -> g
     1:2:void <init>(int,int):51:52 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):71:72 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):77:77 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.InvokeDynamicInsnNode -> com.android.tools.r8.z.a.a.E.i:
+com.android.tools.r8.org.objectweb.asm.tree.InvokeDynamicInsnNode -> com.android.tools.r8.z.a.a.H.i:
     java.lang.String name -> g
     java.lang.String desc -> h
     com.android.tools.r8.org.objectweb.asm.Handle bsm -> i
@@ -60592,7 +60759,7 @@
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):84:85 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90:90 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.JumpInsnNode -> com.android.tools.r8.z.a.a.E.j:
+com.android.tools.r8.org.objectweb.asm.tree.JumpInsnNode -> com.android.tools.r8.z.a.a.H.j:
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode label -> g
     1:2:void <init>(int,com.android.tools.r8.org.objectweb.asm.tree.LabelNode):57:58 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):79:80 -> a
@@ -60601,7 +60768,7 @@
     4:4:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):85 -> a
     5:5:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):85:85 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.LabelNode -> com.android.tools.r8.z.a.a.E.k:
+com.android.tools.r8.org.objectweb.asm.tree.LabelNode -> com.android.tools.r8.z.a.a.H.k:
     com.android.tools.r8.org.objectweb.asm.Label value -> g
     1:1:void <init>():40:40 -> <init>
     1:1:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):68:68 -> a
@@ -60609,13 +60776,13 @@
     int getType() -> b
     1:4:com.android.tools.r8.org.objectweb.asm.Label getLabel():60:63 -> c
     1:1:void resetLabel():77:77 -> d
-com.android.tools.r8.org.objectweb.asm.tree.LdcInsnNode -> com.android.tools.r8.z.a.a.E.l:
+com.android.tools.r8.org.objectweb.asm.tree.LdcInsnNode -> com.android.tools.r8.z.a.a.H.l:
     java.lang.Object cst -> g
     1:2:void <init>(java.lang.Object):55:56 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:67 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.LineNumberNode -> com.android.tools.r8.z.a.a.E.m:
+com.android.tools.r8.org.objectweb.asm.tree.LineNumberNode -> com.android.tools.r8.z.a.a.H.m:
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> h
     int line -> g
     1:3:void <init>(int,com.android.tools.r8.org.objectweb.asm.tree.LabelNode):55:57 -> <init>
@@ -60625,14 +60792,14 @@
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72 -> a
     4:4:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.LocalVariableAnnotationNode -> com.android.tools.r8.z.a.a.E.n:
+com.android.tools.r8.org.objectweb.asm.tree.LocalVariableAnnotationNode -> com.android.tools.r8.z.a.a.H.n:
     java.util.List end -> f
     java.util.List start -> e
     java.util.List index -> g
-    1:4:void <init>(int,int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],int[],java.lang.String):115:118 -> <init>
-    1:10:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor,boolean):128:137 -> a
-    11:11:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor,boolean):136:136 -> a
-com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode -> com.android.tools.r8.z.a.a.E.o:
+    1:4:void <init>(int,int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],int[],java.lang.String):116:119 -> <init>
+    1:10:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor,boolean):129:138 -> a
+    11:11:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor,boolean):137:137 -> a
+com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode -> com.android.tools.r8.z.a.a.H.o:
     int index -> f
     java.lang.String name -> a
     java.lang.String signature -> c
@@ -60640,7 +60807,7 @@
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode end -> e
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> d
     1:7:void <init>(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,int):74:80 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.LookupSwitchInsnNode -> com.android.tools.r8.z.a.a.E.p:
+com.android.tools.r8.org.objectweb.asm.tree.LookupSwitchInsnNode -> com.android.tools.r8.z.a.a.H.p:
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode dflt -> g
     java.util.List labels -> i
     java.util.List keys -> h
@@ -60651,7 +60818,7 @@
     12:12:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89 -> a
     13:15:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89:91 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.MethodInsnNode -> com.android.tools.r8.z.a.a.E.q:
+com.android.tools.r8.org.objectweb.asm.tree.MethodInsnNode -> com.android.tools.r8.z.a.a.H.q:
     java.lang.String owner -> g
     java.lang.String desc -> i
     java.lang.String name -> h
@@ -60660,7 +60827,7 @@
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):115:116 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):121:121 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.MethodNode -> com.android.tools.r8.z.a.a.E.s:
+com.android.tools.r8.org.objectweb.asm.tree.MethodNode -> com.android.tools.r8.z.a.a.H.s:
     java.util.List attrs -> p
     java.util.List invisibleTypeAnnotations -> o
     java.lang.String desc -> j
@@ -60681,85 +60848,85 @@
     java.util.List visibleAnnotations -> l
     boolean visited -> C
     java.util.List parameters -> k
-    1:11:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):220:230 -> <init>
-    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():248:248 -> a
-    2:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):260:264 -> a
-    7:9:void visitAnnotableParameterCount(int,boolean):284:286 -> a
-    10:24:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):294:308 -> a
-    25:25:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):315:315 -> a
-    26:33:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):330:330 -> a
-    34:34:void visitInsn(int):341:341 -> a
-    35:35:void visitTypeInsn(int,java.lang.String):356:356 -> a
-    36:36:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):362:362 -> a
-    37:44:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):372:379 -> a
-    45:45:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):388:388 -> a
-    46:46:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):395:395 -> a
-    47:47:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):400:400 -> a
-    48:48:void visitLdcInsn(java.lang.Object):405:405 -> a
-    49:49:void visitIincInsn(int,int):410:410 -> a
-    50:50:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):416:416 -> a
-    51:51:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):421:421 -> a
-    52:52:void visitMultiANewArrayInsn(java.lang.String,int):426:426 -> a
-    53:53:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):433:433 -> a
+    1:11:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):222:232 -> <init>
+    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():250:250 -> a
+    2:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):262:266 -> a
+    7:9:void visitAnnotableParameterCount(int,boolean):286:288 -> a
+    10:24:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):296:310 -> a
+    25:25:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):317:317 -> a
+    26:33:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):332:332 -> a
+    34:34:void visitInsn(int):343:343 -> a
+    35:35:void visitTypeInsn(int,java.lang.String):358:358 -> a
+    36:36:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):364:364 -> a
+    37:44:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):374:381 -> a
+    45:45:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):390:390 -> a
+    46:46:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):397:397 -> a
+    47:47:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):402:402 -> a
+    48:48:void visitLdcInsn(java.lang.Object):407:407 -> a
+    49:49:void visitIincInsn(int,int):412:412 -> a
+    50:50:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):418:418 -> a
+    51:51:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):423:423 -> a
+    52:52:void visitMultiANewArrayInsn(java.lang.String,int):428:428 -> a
+    53:53:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):435:435 -> a
     54:54:int com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.getOpcode():137:137 -> a
-    54:54:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):434 -> a
+    54:54:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):436 -> a
     55:55:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.getPrevious():154:154 -> a
-    55:55:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):435 -> a
-    56:62:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):438:444 -> a
-    63:65:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):452:454 -> a
-    66:69:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):480:483 -> a
-    70:72:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):495:497 -> a
+    55:55:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):437 -> a
+    56:62:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):440:446 -> a
+    63:65:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):454:456 -> a
+    66:69:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):482:485 -> a
+    70:72:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):497:499 -> a
     73:73:void com.android.tools.r8.org.objectweb.asm.tree.LocalVariableAnnotationNode.<init>(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],int[],java.lang.String):87:87 -> a
-    73:73:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):497 -> a
-    74:78:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):499:503 -> a
-    79:81:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] getLabelNodes(com.android.tools.r8.org.objectweb.asm.Label[]):540:542 -> a
-    82:88:java.lang.Object[] getLabelNodes(java.lang.Object[]):548:554 -> a
-    89:91:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):658:660 -> a
+    73:73:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):499 -> a
+    74:78:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):501:505 -> a
+    79:81:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] getLabelNodes(com.android.tools.r8.org.objectweb.asm.Label[]):542:544 -> a
+    82:88:java.lang.Object[] getLabelNodes(java.lang.Object[]):550:556 -> a
+    89:91:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):660:662 -> a
     92:92:void com.android.tools.r8.org.objectweb.asm.tree.ParameterNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:66 -> a
-    92:92:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):660 -> a
-    93:116:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):664:687 -> a
-    117:126:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):686:695 -> a
-    127:177:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):694:744 -> a
+    92:92:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):662 -> a
+    93:116:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):666:689 -> a
+    117:126:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):688:697 -> a
+    127:177:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):696:746 -> a
     178:185:void com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode.updateIndex(int):89:96 -> a
-    178:185:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):744 -> a
-    186:186:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):745:745 -> a
+    178:185:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):746 -> a
+    186:186:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):747:747 -> a
     187:189:void com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):107:107 -> a
-    187:189:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):745 -> a
+    187:189:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):747 -> a
     191:195:void com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):109:113 -> a
-    191:195:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):745 -> a
+    191:195:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):747 -> a
     196:205:void com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):112:121 -> a
-    196:205:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):745 -> a
+    196:205:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):747 -> a
     206:206:void com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):120:120 -> a
-    206:206:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):745 -> a
-    207:211:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):749:753 -> a
+    206:206:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):747 -> a
+    207:211:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):751:755 -> a
     212:214:void com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):89:89 -> a
-    212:214:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):753 -> a
-    215:228:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):757:770 -> a
+    212:214:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):755 -> a
+    215:228:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):759:772 -> a
     void visitCode() -> b
-    1:4:void visitParameter(java.lang.String,int):239:242 -> b
-    5:5:void visitIntInsn(int,int):346:346 -> b
-    6:13:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):460:467 -> b
-    14:14:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):510:510 -> b
-    15:18:com.android.tools.r8.org.objectweb.asm.tree.LabelNode getLabelNode(com.android.tools.r8.org.objectweb.asm.Label):533:536 -> b
-    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):272:276 -> c
-    6:7:void visitMaxs(int,int):515:516 -> c
-    1:1:void visitVarInsn(int,int):351:351 -> d
-com.android.tools.r8.org.objectweb.asm.tree.MethodNode$1 -> com.android.tools.r8.z.a.a.E.r:
+    1:4:void visitParameter(java.lang.String,int):241:244 -> b
+    5:5:void visitIntInsn(int,int):348:348 -> b
+    6:13:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):462:469 -> b
+    14:14:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):512:512 -> b
+    15:18:com.android.tools.r8.org.objectweb.asm.tree.LabelNode getLabelNode(com.android.tools.r8.org.objectweb.asm.Label):535:538 -> b
+    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):274:278 -> c
+    6:7:void visitMaxs(int,int):517:518 -> c
+    1:1:void visitVarInsn(int,int):353:353 -> d
+com.android.tools.r8.org.objectweb.asm.tree.MethodNode$1 -> com.android.tools.r8.z.a.a.H.r:
     com.android.tools.r8.org.objectweb.asm.tree.MethodNode this$0 -> a
-    1:1:void <init>(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,int):249:249 -> <init>
-    1:2:boolean add(java.lang.Object):252:253 -> add
-com.android.tools.r8.org.objectweb.asm.tree.MultiANewArrayInsnNode -> com.android.tools.r8.z.a.a.E.t:
+    1:1:void <init>(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,int):251:251 -> <init>
+    1:2:boolean add(java.lang.Object):254:255 -> add
+com.android.tools.r8.org.objectweb.asm.tree.MultiANewArrayInsnNode -> com.android.tools.r8.z.a.a.H.t:
     java.lang.String desc -> g
     int dims -> h
     1:3:void <init>(java.lang.String,int):54:56 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:67 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.ParameterNode -> com.android.tools.r8.z.a.a.E.u:
+com.android.tools.r8.org.objectweb.asm.tree.ParameterNode -> com.android.tools.r8.z.a.a.H.u:
     java.lang.String name -> a
     int access -> b
     1:3:void <init>(java.lang.String,int):55:57 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.TableSwitchInsnNode -> com.android.tools.r8.z.a.a.E.v:
+com.android.tools.r8.org.objectweb.asm.tree.TableSwitchInsnNode -> com.android.tools.r8.z.a.a.H.v:
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode dflt -> i
     int max -> h
     java.util.List labels -> j
@@ -60771,7 +60938,7 @@
     8:8:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90 -> a
     9:10:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90:91 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode -> com.android.tools.r8.z.a.a.E.w:
+com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode -> com.android.tools.r8.z.a.a.H.w:
     java.util.List invisibleTypeAnnotations -> f
     java.util.List visibleTypeAnnotations -> e
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> a
@@ -60779,32 +60946,32 @@
     com.android.tools.r8.org.objectweb.asm.tree.LabelNode end -> b
     java.lang.String type -> d
     1:5:void <init>(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,java.lang.String):73:77 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.TypeAnnotationNode -> com.android.tools.r8.z.a.a.E.x:
+com.android.tools.r8.org.objectweb.asm.tree.TypeAnnotationNode -> com.android.tools.r8.z.a.a.H.x:
     int typeRef -> c
     com.android.tools.r8.org.objectweb.asm.TypePath typePath -> d
     1:3:void <init>(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String):62:64 -> <init>
-    4:6:void <init>(int,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String):81:83 -> <init>
-com.android.tools.r8.org.objectweb.asm.tree.TypeInsnNode -> com.android.tools.r8.z.a.a.E.y:
+    4:6:void <init>(int,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String):82:84 -> <init>
+com.android.tools.r8.org.objectweb.asm.tree.TypeInsnNode -> com.android.tools.r8.z.a.a.H.y:
     java.lang.String desc -> g
     1:2:void <init>(int,java.lang.String):56:57 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):77:78 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):83:83 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.tree.Util -> com.android.tools.r8.z.a.a.E.z:
+com.android.tools.r8.org.objectweb.asm.tree.Util -> com.android.tools.r8.z.a.a.H.z:
     1:2:java.util.List add(java.util.List,java.lang.Object):44:45 -> a
     3:5:java.util.List asArrayList(int):50:52 -> a
     6:10:java.util.List asArrayList(java.lang.Object[]):59:63 -> a
     11:15:java.util.List asArrayList(int[]):114:118 -> a
     16:18:java.util.List asArrayList(int,java.lang.Object[]):157:159 -> a
-com.android.tools.r8.org.objectweb.asm.tree.VarInsnNode -> com.android.tools.r8.z.a.a.E.A:
+com.android.tools.r8.org.objectweb.asm.tree.VarInsnNode -> com.android.tools.r8.z.a.a.H.A:
     int var -> g
     1:2:void <init>(int,int):53:54 -> <init>
     1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):74:75 -> a
     3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):80:80 -> a
     int getType() -> b
-com.android.tools.r8.org.objectweb.asm.util.Printer -> com.android.tools.r8.z.a.a.F.a:
+com.android.tools.r8.org.objectweb.asm.util.Printer -> com.android.tools.r8.z.a.a.I.a:
     java.lang.String[] OPCODES -> a
-    1:1:void <clinit>():53:53 -> <clinit>
+    1:1:void <clinit>():54:54 -> <clinit>
 com.android.tools.r8.origin.ArchiveEntryOrigin -> com.android.tools.r8.origin.ArchiveEntryOrigin:
     java.lang.String entryName -> a
     1:2:void <init>(java.lang.String,com.android.tools.r8.origin.Origin):18:19 -> <init>
@@ -60843,8 +61010,8 @@
     1:2:java.util.List buildParts(int):51:52 -> buildParts
     1:1:int compareTo(java.lang.Object):43:43 -> compareTo
 com.android.tools.r8.origin.PathOrigin -> com.android.tools.r8.origin.PathOrigin:
-    java.nio.file.Path path -> a
-    boolean $assertionsDisabled -> b
+    java.nio.file.Path path -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():13:13 -> <clinit>
     1:3:void <init>(java.nio.file.Path):19:21 -> <init>
     1:1:java.nio.file.Path getPath():30:30 -> getPath
@@ -60871,10 +61038,10 @@
 com.android.tools.r8.position.Position$1 -> com.android.tools.r8.position.Position$a:
     1:1:void <init>():19:19 -> <init>
 com.android.tools.r8.position.TextPosition -> com.android.tools.r8.position.TextPosition:
-    long offset -> a
-    int line -> b
-    int column -> c
-    boolean $assertionsDisabled -> d
+    long offset -> b
+    int column -> d
+    boolean $assertionsDisabled -> a
+    int line -> c
     1:1:void <clinit>():12:12 -> <clinit>
     1:7:void <init>(long,int,int):27:33 -> <init>
     1:3:boolean equals(java.lang.Object):75:77 -> equals
@@ -60895,10 +61062,10 @@
     1:1:int hashCode():35:35 -> hashCode
     1:1:java.lang.String toString():52:52 -> toString
 com.android.tools.r8.references.ArrayReference -> com.android.tools.r8.references.ArrayReference:
-    java.lang.String descriptor -> c
-    com.android.tools.r8.references.TypeReference baseType -> b
-    boolean $assertionsDisabled -> d
-    int dimensions -> a
+    boolean $assertionsDisabled -> a
+    int dimensions -> b
+    com.android.tools.r8.references.TypeReference baseType -> c
+    java.lang.String descriptor -> d
     1:1:void <clinit>():11:11 -> <clinit>
     1:5:void <init>(int,com.android.tools.r8.references.TypeReference,java.lang.String):18:22 -> <init>
     1:10:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):26:35 -> a
@@ -60917,10 +61084,10 @@
     1:1:int hashCode():49:49 -> hashCode
     1:1:java.lang.String toString():54:54 -> toString
 com.android.tools.r8.references.FieldReference -> com.android.tools.r8.references.FieldReference:
-    com.android.tools.r8.references.ClassReference holderClass -> a
-    java.lang.String fieldName -> b
-    com.android.tools.r8.references.TypeReference fieldType -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.references.ClassReference holderClass -> b
+    boolean $assertionsDisabled -> a
+    java.lang.String fieldName -> c
+    com.android.tools.r8.references.TypeReference fieldType -> d
     1:1:void <clinit>():15:15 -> <clinit>
     1:7:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.references.TypeReference):25:31 -> <init>
     boolean isUnknown() -> a
@@ -60934,11 +61101,11 @@
     1:1:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String):76:76 -> <init>
     boolean isUnknown() -> a
 com.android.tools.r8.references.MethodReference -> com.android.tools.r8.references.MethodReference:
-    com.android.tools.r8.references.ClassReference holderClass -> a
-    java.util.List formalTypes -> c
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.references.TypeReference returnType -> d
-    java.lang.String methodName -> b
+    com.android.tools.r8.references.TypeReference returnType -> e
+    com.android.tools.r8.references.ClassReference holderClass -> b
+    java.util.List formalTypes -> d
+    boolean $assertionsDisabled -> a
+    java.lang.String methodName -> c
     1:1:void <clinit>():19:19 -> <clinit>
     1:8:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):30:37 -> <init>
     1:8:boolean equals(java.lang.Object):68:75 -> equals
@@ -60990,11 +61157,11 @@
 com.android.tools.r8.references.PrimitiveReference$8 -> com.android.tools.r8.references.PrimitiveReference$h:
     1:1:void <init>():69:69 -> <init>
 com.android.tools.r8.references.Reference -> com.android.tools.r8.references.Reference:
-    com.android.tools.r8.references.Reference instance -> e
-    java.util.concurrent.ConcurrentMap methods -> c
-    java.util.concurrent.ConcurrentMap fields -> d
-    java.util.concurrent.ConcurrentMap classes -> a
-    java.util.concurrent.ConcurrentMap arrays -> b
+    java.util.concurrent.ConcurrentMap fields -> e
+    java.util.concurrent.ConcurrentMap arrays -> c
+    java.util.concurrent.ConcurrentMap methods -> d
+    com.android.tools.r8.references.Reference instance -> a
+    java.util.concurrent.ConcurrentMap classes -> b
     1:8:void <clinit>():30:37 -> <clinit>
     1:1:void <init>():57:57 -> <init>
     2:15:void <init>():42:55 -> <init>
@@ -61049,17 +61216,17 @@
     7:10:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService):64:67 -> run
     11:11:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService):66:66 -> run
 com.android.tools.r8.relocator.RelocatorCommand -> com.android.tools.r8.relocator.RelocatorCommand:
-    com.android.tools.r8.ClassFileConsumer consumer -> e
-    com.android.tools.r8.com.google.common.collect.ImmutableMap mapping -> g
-    java.util.Set OPTIONS_WITH_PARAMETER -> i
-    com.android.tools.r8.graph.DexItemFactory factory -> d
-    java.lang.String USAGE_MESSAGE -> j
-    boolean $assertionsDisabled -> k
-    int threadCount -> h
-    boolean printHelp -> a
-    boolean printVersion -> b
-    com.android.tools.r8.utils.AndroidApp app -> f
-    com.android.tools.r8.utils.Reporter reporter -> c
+    com.android.tools.r8.com.google.common.collect.ImmutableMap mapping -> j
+    com.android.tools.r8.utils.AndroidApp app -> i
+    com.android.tools.r8.ClassFileConsumer consumer -> h
+    com.android.tools.r8.graph.DexItemFactory factory -> g
+    int threadCount -> k
+    boolean printVersion -> e
+    java.util.Set OPTIONS_WITH_PARAMETER -> a
+    com.android.tools.r8.utils.Reporter reporter -> f
+    java.lang.String USAGE_MESSAGE -> b
+    boolean $assertionsDisabled -> c
+    boolean printHelp -> d
     1:13:void <clinit>():43:55 -> <clinit>
     14:14:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):487:487 -> <clinit>
     14:14:void <clinit>():54 -> <clinit>
@@ -61087,14 +61254,14 @@
     1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):108:108 -> parse
 com.android.tools.r8.relocator.RelocatorCommand$1 -> com.android.tools.r8.relocator.RelocatorCommand$a:
 com.android.tools.r8.relocator.RelocatorCommand$Builder -> com.android.tools.r8.relocator.RelocatorCommand$Builder:
-    com.android.tools.r8.ClassFileConsumer consumer -> d
-    com.android.tools.r8.utils.AndroidApp$Builder app -> a
-    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder mapping -> c
-    boolean printVersion -> f
-    boolean printHelp -> g
-    boolean $assertionsDisabled -> h
-    int threadCount -> e
-    com.android.tools.r8.utils.Reporter reporter -> b
+    com.android.tools.r8.utils.AndroidApp$Builder app -> b
+    com.android.tools.r8.ClassFileConsumer consumer -> e
+    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder mapping -> d
+    int threadCount -> f
+    boolean printVersion -> g
+    boolean printHelp -> h
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.utils.Reporter reporter -> c
     1:1:void <clinit>():169:169 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder):189:189 -> <init>
     2:18:void <init>(com.android.tools.r8.utils.AndroidApp$Builder):175:191 -> <init>
@@ -61142,9 +61309,9 @@
     1:1:com.android.tools.r8.origin.Origin getOrigin():22:22 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():27:27 -> getPosition
 com.android.tools.r8.relocator.SimplePackagesRewritingMapper -> com.android.tools.r8.relocator.e:
-    java.util.Map typeMappings -> b
-    com.android.tools.r8.graph.AppView appView -> a
-    boolean $assertionsDisabled -> c
+    java.util.Map typeMappings -> c
+    com.android.tools.r8.graph.AppView appView -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():29:29 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView):34:34 -> <init>
     2:5:void <init>(com.android.tools.r8.graph.AppView):32:35 -> <init>
@@ -61243,9 +61410,9 @@
 com.android.tools.r8.retrace.Retrace$RetraceAbortException -> com.android.tools.r8.retrace.Retrace$c:
     1:1:void <init>():192:192 -> <init>
 com.android.tools.r8.retrace.Retrace$RetraceDiagnosticsHandler -> com.android.tools.r8.retrace.Retrace$d:
-    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> a
-    boolean printInfo -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> b
+    boolean $assertionsDisabled -> a
+    boolean printInfo -> c
     1:1:void <clinit>():212:212 -> <clinit>
     1:4:void <init>(com.android.tools.r8.DiagnosticsHandler,boolean):217:220 -> <init>
     1:1:void error(com.android.tools.r8.Diagnostic):225:225 -> error
@@ -61257,9 +61424,9 @@
     com.android.tools.r8.retrace.RetraceTypeResult retrace(com.android.tools.r8.references.TypeReference) -> a
     java.lang.String retraceSourceFile(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.references.ClassReference,boolean) -> a
 com.android.tools.r8.retrace.RetraceBaseImpl -> com.android.tools.r8.retrace.d:
-    com.android.tools.r8.naming.ClassNameMapper classNameMapper -> a
-    java.util.Set UNKNOWN_SOURCEFILE_NAMES -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.naming.ClassNameMapper classNameMapper -> c
+    java.util.Set UNKNOWN_SOURCEFILE_NAMES -> a
+    boolean $assertionsDisabled -> b
     1:4:void <clinit>():17:20 -> <clinit>
     1:2:void <init>(com.android.tools.r8.naming.ClassNameMapper):24:25 -> <init>
     1:1:com.android.tools.r8.retrace.RetraceBase create(com.android.tools.r8.naming.ClassNameMapper):29:29 -> a
@@ -61275,9 +61442,9 @@
     24:27:java.lang.String retraceSourceFile(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.references.ClassReference,boolean):83:86 -> a
     28:34:java.lang.String getClassSimpleName(java.lang.String):90:96 -> a
 com.android.tools.r8.retrace.RetraceClassResult -> com.android.tools.r8.retrace.RetraceClassResult:
-    com.android.tools.r8.references.ClassReference obfuscatedReference -> a
-    com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> b
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> c
+    com.android.tools.r8.references.ClassReference obfuscatedReference -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():20:20 -> <clinit>
     1:3:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.naming.ClassNamingForNameMapper):26:28 -> <init>
     1:1:com.android.tools.r8.references.ClassReference access$000(com.android.tools.r8.retrace.RetraceClassResult):21:21 -> a
@@ -61316,13 +61483,13 @@
 com.android.tools.r8.retrace.RetraceClassResult$ResultConstructor -> com.android.tools.r8.retrace.RetraceClassResult$b:
     java.lang.Object create(com.android.tools.r8.retrace.RetraceClassResult$Element,java.lang.Object,java.lang.String) -> a
 com.android.tools.r8.retrace.RetraceCommand -> com.android.tools.r8.retrace.RetraceCommand:
-    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> c
-    java.util.List stackTrace -> e
-    com.android.tools.r8.retrace.RetraceCommand$ProguardMapProducer proguardMapProducer -> d
-    boolean $assertionsDisabled -> g
-    java.util.function.Consumer retracedStackTraceConsumer -> f
-    boolean isVerbose -> a
-    java.lang.String regularExpression -> b
+    com.android.tools.r8.retrace.RetraceCommand$ProguardMapProducer proguardMapProducer -> e
+    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> d
+    java.util.List stackTrace -> f
+    java.util.function.Consumer retracedStackTraceConsumer -> g
+    boolean $assertionsDisabled -> a
+    java.lang.String regularExpression -> c
+    boolean isVerbose -> b
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:void <init>(boolean,java.lang.String,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.retrace.RetraceCommand$ProguardMapProducer,java.util.List,java.util.function.Consumer,com.android.tools.r8.retrace.RetraceCommand$1):14:14 -> <init>
     2:13:void <init>(boolean,java.lang.String,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.retrace.RetraceCommand$ProguardMapProducer,java.util.List,java.util.function.Consumer):29:40 -> <init>
@@ -61354,10 +61521,10 @@
     1:2:void <init>(java.util.List):13:14 -> <init>
     1:1:java.util.List getNodes():18:18 -> a
 com.android.tools.r8.retrace.RetraceFieldResult -> com.android.tools.r8.retrace.RetraceFieldResult:
-    java.util.List memberNamings -> b
-    com.android.tools.r8.retrace.RetraceClassResult$Element classElement -> a
-    java.lang.String obfuscatedName -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.retrace.RetraceClassResult$Element classElement -> b
+    java.util.List memberNamings -> c
+    boolean $assertionsDisabled -> a
+    java.lang.String obfuscatedName -> d
     1:1:void <clinit>():20:20 -> <clinit>
     1:7:void <init>(com.android.tools.r8.retrace.RetraceClassResult$Element,java.util.List,java.lang.String):30:36 -> <init>
     8:8:void <init>(com.android.tools.r8.retrace.RetraceClassResult$Element,java.util.List,java.lang.String):35:35 -> <init>
@@ -61387,11 +61554,11 @@
     1:1:com.android.tools.r8.origin.Origin getOrigin():30:30 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():35:35 -> getPosition
 com.android.tools.r8.retrace.RetraceMethodResult -> com.android.tools.r8.retrace.RetraceMethodResult:
-    com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRangesOfName mappedRanges -> c
-    com.android.tools.r8.retrace.RetraceClassResult$Element classElement -> b
-    boolean $assertionsDisabled -> e
-    java.lang.String obfuscatedName -> a
-    java.lang.Boolean isAmbiguousCached -> d
+    java.lang.Boolean isAmbiguousCached -> e
+    com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRangesOfName mappedRanges -> d
+    com.android.tools.r8.retrace.RetraceClassResult$Element classElement -> c
+    boolean $assertionsDisabled -> a
+    java.lang.String obfuscatedName -> b
     1:1:void <clinit>():23:23 -> <clinit>
     1:1:void <init>(com.android.tools.r8.retrace.RetraceClassResult$Element,com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRangesOfName,java.lang.String):34:34 -> <init>
     2:11:void <init>(com.android.tools.r8.retrace.RetraceClassResult$Element,com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRangesOfName,java.lang.String):29:38 -> <init>
@@ -61422,12 +61589,12 @@
     2:2:int getOriginalLineNumber(int):162:162 -> b
     1:1:boolean hasNoLineNumberRange():174:174 -> c
 com.android.tools.r8.retrace.RetraceRegularExpression -> com.android.tools.r8.retrace.u:
-    java.util.List stackTrace -> b
-    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> c
-    com.android.tools.r8.retrace.RetraceRegularExpression$RegularExpressionGroup[] groups -> e
-    com.android.tools.r8.retrace.RetraceBase retraceBase -> a
-    boolean $assertionsDisabled -> f
-    java.lang.String regularExpression -> d
+    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> d
+    com.android.tools.r8.retrace.RetraceRegularExpression$RegularExpressionGroup[] groups -> f
+    java.util.List stackTrace -> c
+    com.android.tools.r8.retrace.RetraceBase retraceBase -> b
+    boolean $assertionsDisabled -> a
+    java.lang.String regularExpression -> e
     1:1:void <clinit>():27:27 -> <clinit>
     1:1:void <init>(com.android.tools.r8.retrace.RetraceBase,java.util.List,com.android.tools.r8.DiagnosticsHandler,java.lang.String):54:54 -> <init>
     2:24:void <init>(com.android.tools.r8.retrace.RetraceBase,java.util.List,com.android.tools.r8.DiagnosticsHandler,java.lang.String):36:58 -> <init>
@@ -61585,19 +61752,19 @@
     1:1:boolean access$800(com.android.tools.r8.retrace.RetraceRegularExpression$RetraceString):164:164 -> j
     1:1:com.android.tools.r8.retrace.RetraceClassResult$Element access$900(com.android.tools.r8.retrace.RetraceRegularExpression$RetraceString):164:164 -> k
 com.android.tools.r8.retrace.RetraceRegularExpression$RetraceString$RetraceStringBuilder -> com.android.tools.r8.retrace.q:
-    boolean $assertionsDisabled -> m
-    java.lang.String retracedString -> g
-    int maxReplaceStringIndex -> l
-    com.android.tools.r8.retrace.RetraceMethodResult$Element methodContext -> d
-    com.android.tools.r8.references.TypeReference typeOrReturnTypeContext -> e
-    boolean isAmbiguous -> i
-    int lineNumber -> j
-    java.lang.String source -> k
-    com.android.tools.r8.retrace.RetraceRegularExpression$ClassNameGroup classNameGroup -> b
-    com.android.tools.r8.references.ClassReference qualifiedContext -> c
-    int adjustedIndex -> h
-    com.android.tools.r8.retrace.RetraceClassResult$Element classContext -> a
-    boolean hasTypeOrReturnTypeContext -> f
+    com.android.tools.r8.retrace.RetraceMethodResult$Element methodContext -> e
+    com.android.tools.r8.references.TypeReference typeOrReturnTypeContext -> f
+    java.lang.String retracedString -> h
+    int maxReplaceStringIndex -> m
+    boolean isAmbiguous -> j
+    int lineNumber -> k
+    com.android.tools.r8.retrace.RetraceRegularExpression$ClassNameGroup classNameGroup -> c
+    com.android.tools.r8.references.ClassReference qualifiedContext -> d
+    int adjustedIndex -> i
+    java.lang.String source -> l
+    com.android.tools.r8.retrace.RetraceClassResult$Element classContext -> b
+    boolean hasTypeOrReturnTypeContext -> g
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():239:239 -> <clinit>
     1:1:void <init>(com.android.tools.r8.retrace.RetraceClassResult$Element,com.android.tools.r8.retrace.RetraceRegularExpression$ClassNameGroup,com.android.tools.r8.references.ClassReference,com.android.tools.r8.retrace.RetraceMethodResult$Element,com.android.tools.r8.references.TypeReference,boolean,java.lang.String,int,boolean,int,java.lang.String):266:266 -> <init>
     2:26:void <init>(com.android.tools.r8.retrace.RetraceClassResult$Element,com.android.tools.r8.retrace.RetraceRegularExpression$ClassNameGroup,com.android.tools.r8.references.ClassReference,com.android.tools.r8.retrace.RetraceMethodResult$Element,com.android.tools.r8.references.TypeReference,boolean,java.lang.String,int,boolean,int,java.lang.String):253:277 -> <init>
@@ -61740,8 +61907,8 @@
     4:9:int firstFromIndex(java.lang.String,int,java.util.function.Predicate):139:144 -> a
     boolean isAtLine() -> b
 com.android.tools.r8.retrace.RetraceStackTrace$StackTraceNode -> com.android.tools.r8.retrace.B:
-    java.util.List lines -> a
-    boolean $assertionsDisabled -> b
+    java.util.List lines -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():23:23 -> <clinit>
     1:4:void <init>(java.util.List):27:30 -> <init>
     1:9:void append(java.util.List):34:42 -> a
@@ -61772,7 +61939,7 @@
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):32:32 -> <init>
     2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):30:34 -> <init>
     1:1:void processClass(com.android.tools.r8.graph.DexType):43:43 -> processClass
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> processClass
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> processClass
     2:2:void processClass(com.android.tools.r8.graph.DexType):43 -> processClass
     3:6:void processClass(com.android.tools.r8.graph.DexType):44:47 -> processClass
     7:12:java.util.List com.android.tools.r8.utils.IterableUtils.ensureUnmodifiableList(java.lang.Iterable):16:21 -> processClass
@@ -61811,7 +61978,7 @@
     1:1:boolean access$000(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexItemFactory):27:27 -> access$000
     1:1:boolean access$100(com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.Set):27:27 -> access$100
     1:1:com.android.tools.r8.shaking.AnnotationRemover$Builder builder():48:48 -> builder
-    1:3:void clearAnnotations(com.android.tools.r8.graph.AppView):331:333 -> clearAnnotations
+    1:3:void clearAnnotations(com.android.tools.r8.graph.AppView):332:334 -> clearAnnotations
     1:3:boolean enclosingMethodPinned(com.android.tools.r8.graph.DexClass):261:263 -> enclosingMethodPinned
     1:1:com.android.tools.r8.shaking.AnnotationRemover ensureValid():167:167 -> ensureValid
     1:2:boolean filterAnnotations(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation):57:58 -> filterAnnotations
@@ -61828,14 +61995,14 @@
     1:1:boolean lambda$rewriteAnnotationElement$4(com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexEncodedMethod):256:256 -> lambda$rewriteAnnotationElement$4
     1:1:com.android.tools.r8.graph.DexAnnotationElement lambda$rewriteEncodedAnnotation$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement):236:236 -> lambda$rewriteEncodedAnnotation$3
     1:1:com.android.tools.r8.graph.DexAnnotation lambda$run$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):200:200 -> lambda$run$0
-    1:12:boolean lambda$stripAttributes$5(boolean,com.android.tools.r8.graph.DexProgramClass,boolean,com.android.tools.r8.graph.InnerClassAttribute):305:316 -> lambda$stripAttributes$5
+    1:13:boolean lambda$stripAttributes$5(boolean,com.android.tools.r8.graph.DexProgramClass,boolean,com.android.tools.r8.graph.InnerClassAttribute):305:317 -> lambda$stripAttributes$5
     1:1:void processField(com.android.tools.r8.graph.DexEncodedField):215:215 -> processField
     2:2:void processField(com.android.tools.r8.graph.DexEncodedField):214:214 -> processField
     1:1:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):208:208 -> processMethod
     2:5:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):207:210 -> processMethod
     1:3:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation):220:222 -> rewriteAnnotation
     1:1:com.android.tools.r8.graph.DexAnnotationElement rewriteAnnotationElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement):246:246 -> rewriteAnnotationElement
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> rewriteAnnotationElement
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> rewriteAnnotationElement
     2:2:com.android.tools.r8.graph.DexAnnotationElement rewriteAnnotationElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement):246 -> rewriteAnnotationElement
     3:7:com.android.tools.r8.graph.DexAnnotationElement rewriteAnnotationElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement):252:256 -> rewriteAnnotationElement
     1:13:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):228:240 -> rewriteEncodedAnnotation
@@ -61870,140 +62037,141 @@
     35:35:boolean com.android.tools.r8.graph.DexAnnotation.isSynthesizedClassMapAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):397:397 -> shouldKeepAnnotation
     35:35:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation,boolean):116 -> shouldKeepAnnotation
     36:36:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation,boolean):120:120 -> shouldKeepAnnotation
-    1:45:void stripAttributes(com.android.tools.r8.graph.DexProgramClass):282:326 -> stripAttributes
-    46:55:void stripAttributes(com.android.tools.r8.graph.DexProgramClass):294:303 -> stripAttributes
+    1:46:void stripAttributes(com.android.tools.r8.graph.DexProgramClass):282:327 -> stripAttributes
+    47:56:void stripAttributes(com.android.tools.r8.graph.DexProgramClass):294:303 -> stripAttributes
 com.android.tools.r8.shaking.AnnotationRemover$Builder -> com.android.tools.r8.shaking.AnnotationRemover$Builder:
-    1:1:void <clinit>():337:337 -> <clinit>
-    1:7:void <init>():337:343 -> <init>
-    1:2:com.android.tools.r8.shaking.AnnotationRemover build(com.android.tools.r8.graph.AppView,java.util.Set):418:419 -> build
-    1:54:com.android.tools.r8.shaking.AnnotationRemover$Builder computeClassesToRetainInnerClassAttributeFor(com.android.tools.r8.graph.AppView):349:402 -> computeClassesToRetainInnerClassAttributeFor
-    1:1:void retainAnnotation(com.android.tools.r8.graph.DexAnnotation):413:413 -> retainAnnotation
-    1:1:com.android.tools.r8.shaking.AnnotationRemover$Builder setClassesToRetainInnerClassAttributeFor(java.util.Set):408:408 -> setClassesToRetainInnerClassAttributeFor
+    1:1:void <clinit>():338:338 -> <clinit>
+    1:7:void <init>():338:344 -> <init>
+    1:2:com.android.tools.r8.shaking.AnnotationRemover build(com.android.tools.r8.graph.AppView,java.util.Set):419:420 -> build
+    1:54:com.android.tools.r8.shaking.AnnotationRemover$Builder computeClassesToRetainInnerClassAttributeFor(com.android.tools.r8.graph.AppView):350:403 -> computeClassesToRetainInnerClassAttributeFor
+    1:1:void retainAnnotation(com.android.tools.r8.graph.DexAnnotation):414:414 -> retainAnnotation
+    1:1:com.android.tools.r8.shaking.AnnotationRemover$Builder setClassesToRetainInnerClassAttributeFor(java.util.Set):409:409 -> setClassesToRetainInnerClassAttributeFor
 com.android.tools.r8.shaking.AppInfoWithLiveness -> com.android.tools.r8.shaking.AppInfoWithLiveness:
-    1:1:void <clinit>():76:76 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):243:243 -> <init>
-    2:357:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):197:552 -> <init>
-    358:398:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):244:284 -> <init>
-    399:399:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):330:330 -> <init>
-    400:755:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):197:552 -> <init>
-    756:796:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):331:371 -> <init>
-    797:840:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness):375:418 -> <init>
-    841:884:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Collection,java.util.Collection):426:426 -> <init>
-    931:932:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Collection,java.util.Collection):473:474 -> <init>
-    933:933:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection):481:481 -> <init>
-    934:1289:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection):197:552 -> <init>
-    1290:1331:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection):482:523 -> <init>
-    1:12:boolean assertNoItemRemoved(java.util.Collection,java.util.Collection):758:769 -> assertNoItemRemoved
-    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> canUseConstClassInstructions
-    1:1:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):555 -> canUseConstClassInstructions
-    2:5:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):558:561 -> canUseConstClassInstructions
-    1:10:void computeLargestCfVersion():565:574 -> computeLargestCfVersion
-    1:27:java.util.Collection computeReachableInterfaces():598:624 -> computeReachableInterfaces
-    1:1:com.android.tools.r8.graph.SubtypingInfo computeSubtypingInfo():1376:1376 -> computeSubtypingInfo
-    1:6:com.android.tools.r8.shaking.AppInfoWithLiveness createRewrittenAppInfoWithLiveness(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):985:985 -> createRewrittenAppInfoWithLiveness
-    12:17:com.android.tools.r8.shaking.AppInfoWithLiveness createRewrittenAppInfoWithLiveness(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):991:991 -> createRewrittenAppInfoWithLiveness
-    23:28:com.android.tools.r8.shaking.AppInfoWithLiveness createRewrittenAppInfoWithLiveness(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):997:997 -> createRewrittenAppInfoWithLiveness
-    34:81:com.android.tools.r8.shaking.AppInfoWithLiveness createRewrittenAppInfoWithLiveness(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):1003:1050 -> createRewrittenAppInfoWithLiveness
-    1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):532:535 -> definitionFor
+    1:1:void <clinit>():72:72 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):236:236 -> <init>
+    2:383:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):191:572 -> <init>
+    384:423:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):237:276 -> <init>
+    424:424:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):321:321 -> <init>
+    425:806:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):191:572 -> <init>
+    807:846:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.SortedSet,java.util.Set,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,java.util.SortedSet,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.SortedMap,java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection,java.util.Set,java.util.Map):322:361 -> <init>
+    847:889:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness):365:407 -> <init>
+    890:930:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Collection,java.util.Collection):415:415 -> <init>
+    974:975:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Collection,java.util.Collection):459:460 -> <init>
+    976:976:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection):504:504 -> <init>
+    977:1358:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection):191:572 -> <init>
+    1359:1399:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map,com.android.tools.r8.graph.EnumValueInfoMapCollection):505:545 -> <init>
+    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> canUseConstClassInstructions
+    1:1:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):575 -> canUseConstClassInstructions
+    2:5:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):578:581 -> canUseConstClassInstructions
+    1:10:void computeLargestCfVersion():585:594 -> computeLargestCfVersion
+    1:27:java.util.Collection computeReachableInterfaces():618:644 -> computeReachableInterfaces
+    1:1:com.android.tools.r8.graph.SubtypingInfo computeSubtypingInfo():1360:1360 -> computeSubtypingInfo
+    1:7:com.android.tools.r8.shaking.AppInfoWithLiveness createRewrittenAppInfoWithLiveness(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):977:977 -> createRewrittenAppInfoWithLiveness
+    14:19:com.android.tools.r8.shaking.AppInfoWithLiveness createRewrittenAppInfoWithLiveness(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):984:984 -> createRewrittenAppInfoWithLiveness
+    25:69:com.android.tools.r8.shaking.AppInfoWithLiveness createRewrittenAppInfoWithLiveness(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):990:1034 -> createRewrittenAppInfoWithLiveness
+    1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):554:557 -> definitionFor
     5:765:boolean com.android.tools.r8.ir.desugar.InterfaceMethodRewriter.isCompanionClassType(com.android.tools.r8.graph.DexType):0:760 -> definitionFor
-    5:765:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):537 -> definitionFor
+    5:765:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):559 -> definitionFor
     766:766:boolean com.android.tools.r8.ir.desugar.InterfaceMethodRewriter.hasDispatchClassSuffix(com.android.tools.r8.graph.DexType):798:798 -> definitionFor
-    766:766:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):538 -> definitionFor
+    766:766:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):560 -> definitionFor
     767:767:boolean com.android.tools.r8.ir.desugar.InterfaceMethodRewriter.isEmulatedLibraryClassType(com.android.tools.r8.graph.DexType):764:764 -> definitionFor
-    767:767:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):539 -> definitionFor
-    768:770:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):540:542 -> definitionFor
+    767:767:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):561 -> definitionFor
+    768:770:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):562:564 -> definitionFor
     771:848:boolean com.android.tools.r8.ir.desugar.TwrCloseResourceRewriter.isUtilityClassDescriptor(com.android.tools.r8.graph.DexType):0:77 -> definitionFor
-    771:848:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):543 -> definitionFor
-    849:949:boolean com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter.isVivifiedType(com.android.tools.r8.graph.DexType):0:100 -> definitionFor
-    849:949:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):545 -> definitionFor
-    950:950:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):547:547 -> definitionFor
-    951:951:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):533:533 -> definitionFor
-    1:1:void forEachInstantiatedSubType(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):1335:1335 -> forEachInstantiatedSubType
-    1:4:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1345:1348 -> forEachInstantiatedSubTypeInChain
-    1:1:void forEachReferencedClasspathClass(java.util.function.Consumer):1269:1269 -> forEachReferencedClasspathClass
-    1:3:void forEachTypeInHierarchyOfLiveProgramClasses(java.util.function.Consumer):1278:1278 -> forEachTypeInHierarchyOfLiveProgramClasses
-    4:39:void forEachTypeInHierarchyOfLiveProgramClasses(java.util.function.Consumer,java.util.Collection,java.util.Set,com.android.tools.r8.graph.AppInfoWithClassHierarchy):1288:1323 -> forEachTypeInHierarchyOfLiveProgramClasses
-    1:1:java.util.Set getDeadProtoTypes():712:712 -> getDeadProtoTypes
-    1:2:com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap getEnumValueInfoMap(com.android.tools.r8.graph.DexType):725:726 -> getEnumValueInfoMap
-    1:2:com.android.tools.r8.graph.EnumValueInfoMapCollection getEnumValueInfoMapCollection():720:721 -> getEnumValueInfoMapCollection
-    1:1:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():736:736 -> getFieldAccessInfoCollection
-    1:9:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1224:1232 -> getMethodTargetFromExactRuntimeInformation
-    10:24:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1230:1244 -> getMethodTargetFromExactRuntimeInformation
-    1:1:java.util.Set getMissingTypes():716:716 -> getMissingTypes
-    1:1:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl getMutableFieldAccessInfoCollection():740:740 -> getMutableFieldAccessInfoCollection
-    1:1:com.android.tools.r8.graph.ObjectAllocationInfoCollection getObjectAllocationInfoCollection():745:745 -> getObjectAllocationInfoCollection
-    1:2:java.util.Set getPinnedItems():952:953 -> getPinnedItems
-    1:2:java.util.Set getPrunedTypes():1063:1064 -> getPrunedTypes
-    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getSwitchMap(com.android.tools.r8.graph.DexField):730:731 -> getSwitchMap
-    1:1:boolean hasLiveness():918:918 -> hasLiveness
-    1:5:boolean hasPinnedInstanceInitializer(com.android.tools.r8.graph.DexType):939:943 -> hasPinnedInstanceInitializer
-    1:2:boolean isAccessModificationAllowed(com.android.tools.r8.graph.DexReference):929:930 -> isAccessModificationAllowed
-    1:7:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):832:838 -> isFieldOnlyWrittenInMethod
-    1:11:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):794:804 -> isFieldRead
-    1:2:boolean isFieldWritten(com.android.tools.r8.graph.DexEncodedField):808:809 -> isFieldWritten
-    1:12:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):813:824 -> isFieldWrittenByFieldPutInstruction
-    1:11:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):844:854 -> isInstanceFieldWrittenOnlyInInstanceInitializers
-    1:4:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):775:778 -> isInstantiatedDirectly
-    5:5:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> isInstantiatedDirectly
-    5:5:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):780 -> isInstantiatedDirectly
-    6:6:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):780:780 -> isInstantiatedDirectly
-    1:2:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):789:790 -> isInstantiatedDirectlyOrIndirectly
-    1:2:boolean isInstantiatedIndirectly(com.android.tools.r8.graph.DexProgramClass):784:785 -> isInstantiatedIndirectly
-    1:2:boolean isInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):912:913 -> isInstantiatedInterface
-    1:1:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1354:1354 -> isInstantiatedOrPinned
-    1:2:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):883:884 -> isLibraryOrClasspathField
-    1:1:boolean isLiveProgramClass(com.android.tools.r8.graph.DexProgramClass):578:578 -> isLiveProgramClass
-    1:2:boolean isLiveProgramType(com.android.tools.r8.graph.DexType):582:583 -> isLiveProgramType
-    1:1:boolean isLockCandidate(com.android.tools.r8.graph.DexType):689:689 -> isLockCandidate
-    1:8:boolean isNonProgramTypeOrLiveProgramType(com.android.tools.r8.graph.DexType):587:594 -> isNonProgramTypeOrLiveProgramType
-    1:2:boolean isPinned(com.android.tools.r8.graph.DexReference):934:935 -> isPinned
-    1:14:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexReference):1358:1371 -> isPinnedNotProgramOrLibraryOverride
-    1:5:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):860:864 -> isStaticFieldWrittenOnlyInEnclosingStaticInitializer
-    1:1:com.android.tools.r8.graph.DexProgramClass lambda$forEachTypeInHierarchyOfLiveProgramClasses$6(com.android.tools.r8.graph.DexType):1279:1279 -> lambda$forEachTypeInHierarchyOfLiveProgramClasses$6
-    1:1:void lambda$forEachTypeInHierarchyOfLiveProgramClasses$7(java.util.Set,com.android.tools.r8.graph.DexProgramClass):1290:1290 -> lambda$forEachTypeInHierarchyOfLiveProgramClasses$7
-    1:1:boolean lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):856:856 -> lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$1
-    1:11:com.android.tools.r8.utils.TraversalContinuation lambda$mayHaveFinalizer$8(com.android.tools.r8.graph.DexProgramClass):1402:1412 -> lambda$mayHaveFinalizer$8
-    1:1:com.android.tools.r8.utils.TraversalContinuation lambda$mayHaveFinalizer$9(com.android.tools.r8.ir.desugar.LambdaDescriptor):1416:1416 -> lambda$mayHaveFinalizer$9
-    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$rewriteKeysConservativelyWhileMergingValues$2(com.android.tools.r8.graph.PresortedComparable):904:904 -> lambda$rewriteKeysConservativelyWhileMergingValues$2
-    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness lambda$rewrittenWithLens$4(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):979:979 -> lambda$rewrittenWithLens$4
-    1:6:void lambda$withoutStaticFieldsWrites$0(java.util.Set,com.android.tools.r8.graph.FieldAccessInfoImpl):700:705 -> lambda$withoutStaticFieldsWrites$0
-    1:34:java.util.Set lookupLambdaImplementedMethods(com.android.tools.r8.graph.DexCallSite):644:677 -> lookupLambdaImplementedMethods
-    35:35:java.util.Set lookupLambdaImplementedMethods(com.android.tools.r8.graph.DexCallSite):647:647 -> lookupLambdaImplementedMethods
-    1:1:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1098:1098 -> lookupSingleProgramTarget
-    1:16:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1072:1087 -> lookupSingleTarget
-    17:17:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1085:1085 -> lookupSingleTarget
-    18:18:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1083:1083 -> lookupSingleTarget
-    19:19:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1081:1081 -> lookupSingleTarget
-    20:20:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1079:1079 -> lookupSingleTarget
-    1:2:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):1104:1105 -> lookupSingleVirtualTarget
-    3:4:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate):1115:1116 -> lookupSingleVirtualTarget
-    5:36:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1127:1158 -> lookupSingleVirtualTarget
-    37:37:boolean com.android.tools.r8.graph.DexClass.isFinal():469:469 -> lookupSingleVirtualTarget
-    37:37:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1158 -> lookupSingleVirtualTarget
+    771:848:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):565 -> definitionFor
+    849:950:boolean com.android.tools.r8.ir.desugar.DesugaredLibraryAPIConverter.isVivifiedType(com.android.tools.r8.graph.DexType):0:101 -> definitionFor
+    849:950:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):567 -> definitionFor
+    951:951:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):555:555 -> definitionFor
+    1:4:com.android.tools.r8.shaking.KeepInfoCollection extendPinnedItems(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Collection):465:468 -> extendPinnedItems
+    5:5:com.android.tools.r8.shaking.KeepInfoCollection extendPinnedItems(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Collection):466:466 -> extendPinnedItems
+    1:1:void forEachInstantiatedSubType(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):1319:1319 -> forEachInstantiatedSubType
+    1:4:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1329:1332 -> forEachInstantiatedSubTypeInChain
+    1:1:void forEachReferencedClasspathClass(java.util.function.Consumer):1253:1253 -> forEachReferencedClasspathClass
+    1:3:void forEachTypeInHierarchyOfLiveProgramClasses(java.util.function.Consumer):1262:1262 -> forEachTypeInHierarchyOfLiveProgramClasses
+    4:39:void forEachTypeInHierarchyOfLiveProgramClasses(java.util.function.Consumer,java.util.Collection,java.util.Set,com.android.tools.r8.graph.AppInfoWithClassHierarchy):1272:1307 -> forEachTypeInHierarchyOfLiveProgramClasses
+    1:1:java.util.Set getDeadProtoTypes():732:732 -> getDeadProtoTypes
+    1:2:com.android.tools.r8.graph.EnumValueInfoMapCollection$EnumValueInfoMap getEnumValueInfoMap(com.android.tools.r8.graph.DexType):745:746 -> getEnumValueInfoMap
+    1:2:com.android.tools.r8.graph.EnumValueInfoMapCollection getEnumValueInfoMapCollection():740:741 -> getEnumValueInfoMapCollection
+    1:1:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():756:756 -> getFieldAccessInfoCollection
+    1:1:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():945:945 -> getKeepInfo
+    1:9:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1208:1216 -> getMethodTargetFromExactRuntimeInformation
+    10:24:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1214:1228 -> getMethodTargetFromExactRuntimeInformation
+    1:1:java.util.Set getMissingTypes():736:736 -> getMissingTypes
+    1:1:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl getMutableFieldAccessInfoCollection():760:760 -> getMutableFieldAccessInfoCollection
+    1:1:com.android.tools.r8.graph.ObjectAllocationInfoCollection getObjectAllocationInfoCollection():765:765 -> getObjectAllocationInfoCollection
+    1:2:java.util.Set getPrunedTypes():1047:1048 -> getPrunedTypes
+    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getSwitchMap(com.android.tools.r8.graph.DexField):750:751 -> getSwitchMap
+    1:1:boolean hasLiveness():909:909 -> hasLiveness
+    1:5:boolean hasPinnedInstanceInitializer(com.android.tools.r8.graph.DexType):932:936 -> hasPinnedInstanceInitializer
+    1:4:boolean isAccessModificationAllowed(com.android.tools.r8.graph.DexReference):920:923 -> isAccessModificationAllowed
+    1:7:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):835:841 -> isFieldOnlyWrittenInMethod
+    1:11:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):797:807 -> isFieldRead
+    1:2:boolean isFieldWritten(com.android.tools.r8.graph.DexEncodedField):811:812 -> isFieldWritten
+    1:12:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):816:827 -> isFieldWrittenByFieldPutInstruction
+    1:11:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):847:857 -> isInstanceFieldWrittenOnlyInInstanceInitializers
+    1:4:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):778:781 -> isInstantiatedDirectly
+    5:5:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> isInstantiatedDirectly
+    5:5:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):783 -> isInstantiatedDirectly
+    6:6:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):783:783 -> isInstantiatedDirectly
+    1:2:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):792:793 -> isInstantiatedDirectlyOrIndirectly
+    1:2:boolean isInstantiatedIndirectly(com.android.tools.r8.graph.DexProgramClass):787:788 -> isInstantiatedIndirectly
+    1:2:boolean isInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):903:904 -> isInstantiatedInterface
+    1:1:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1338:1338 -> isInstantiatedOrPinned
+    1:2:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):886:887 -> isLibraryOrClasspathField
+    1:1:boolean isLiveProgramClass(com.android.tools.r8.graph.DexProgramClass):598:598 -> isLiveProgramClass
+    1:2:boolean isLiveProgramType(com.android.tools.r8.graph.DexType):602:603 -> isLiveProgramType
+    1:1:boolean isLockCandidate(com.android.tools.r8.graph.DexType):709:709 -> isLockCandidate
+    1:8:boolean isNonProgramTypeOrLiveProgramType(com.android.tools.r8.graph.DexType):607:614 -> isNonProgramTypeOrLiveProgramType
+    1:2:boolean isPinned(com.android.tools.r8.graph.DexReference):927:928 -> isPinned
+    1:14:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexReference):1342:1355 -> isPinnedNotProgramOrLibraryOverride
+    1:5:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):863:867 -> isStaticFieldWrittenOnlyInEnclosingStaticInitializer
+    1:23:void lambda$extendPinnedItems$0(java.util.Collection,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):470:492 -> lambda$extendPinnedItems$0
+    1:1:com.android.tools.r8.graph.DexProgramClass lambda$forEachTypeInHierarchyOfLiveProgramClasses$8(com.android.tools.r8.graph.DexType):1263:1263 -> lambda$forEachTypeInHierarchyOfLiveProgramClasses$8
+    1:1:void lambda$forEachTypeInHierarchyOfLiveProgramClasses$9(java.util.Set,com.android.tools.r8.graph.DexProgramClass):1274:1274 -> lambda$forEachTypeInHierarchyOfLiveProgramClasses$9
+    1:1:boolean lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):859:859 -> lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$2
+    1:11:com.android.tools.r8.utils.TraversalContinuation lambda$mayHaveFinalizer$10(com.android.tools.r8.graph.DexProgramClass):1386:1396 -> lambda$mayHaveFinalizer$10
+    1:1:com.android.tools.r8.utils.TraversalContinuation lambda$mayHaveFinalizer$11(com.android.tools.r8.ir.desugar.LambdaDescriptor):1400:1400 -> lambda$mayHaveFinalizer$11
+    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$rewriteInvokesWithContexts$3(com.android.tools.r8.graph.DexMethod):897:897 -> lambda$rewriteInvokesWithContexts$3
+    1:1:void lambda$rewriteInvokesWithContexts$4(java.util.SortedMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):897:897 -> lambda$rewriteInvokesWithContexts$4
+    2:4:void lambda$rewriteInvokesWithContexts$4(java.util.SortedMap,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):896:898 -> lambda$rewriteInvokesWithContexts$4
+    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness lambda$rewrittenWithLens$6(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):971:971 -> lambda$rewrittenWithLens$6
+    1:6:void lambda$withoutStaticFieldsWrites$1(java.util.Set,com.android.tools.r8.graph.FieldAccessInfoImpl):720:725 -> lambda$withoutStaticFieldsWrites$1
+    1:34:java.util.Set lookupLambdaImplementedMethods(com.android.tools.r8.graph.DexCallSite):664:697 -> lookupLambdaImplementedMethods
+    35:35:java.util.Set lookupLambdaImplementedMethods(com.android.tools.r8.graph.DexCallSite):667:667 -> lookupLambdaImplementedMethods
+    1:1:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1082:1082 -> lookupSingleProgramTarget
+    1:16:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1056:1071 -> lookupSingleTarget
+    17:17:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1069:1069 -> lookupSingleTarget
+    18:18:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1067:1067 -> lookupSingleTarget
+    19:19:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1065:1065 -> lookupSingleTarget
+    20:20:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1063:1063 -> lookupSingleTarget
+    1:2:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):1088:1089 -> lookupSingleVirtualTarget
+    3:4:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate):1099:1100 -> lookupSingleVirtualTarget
+    5:36:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1111:1142 -> lookupSingleVirtualTarget
+    37:37:boolean com.android.tools.r8.graph.DexClass.isFinal():476:476 -> lookupSingleVirtualTarget
+    37:37:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1142 -> lookupSingleVirtualTarget
     38:38:boolean com.android.tools.r8.graph.DexEncodedMethod.isFinal():330:330 -> lookupSingleVirtualTarget
-    38:38:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1159 -> lookupSingleVirtualTarget
-    39:62:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1159:1182 -> lookupSingleVirtualTarget
-    63:83:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1181:1201 -> lookupSingleVirtualTarget
-    84:94:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1200:1210 -> lookupSingleVirtualTarget
-    1:13:boolean mayHaveFinalizeMethodDirectlyOrIndirectly(com.android.tools.r8.ir.analysis.type.ClassTypeElement):1381:1393 -> mayHaveFinalizeMethodDirectlyOrIndirectly
-    1:22:boolean mayHaveFinalizer(com.android.tools.r8.graph.DexType):1398:1419 -> mayHaveFinalizer
-    1:5:boolean mayPropagateArgumentsTo(com.android.tools.r8.graph.ProgramMethod):868:872 -> mayPropagateArgumentsTo
-    1:4:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexReference):876:879 -> mayPropagateValueFor
-    1:1:com.android.tools.r8.shaking.AppInfoWithLivenessModifier modifier():527:527 -> modifier
-    1:1:void mutateObjectAllocationInfoCollection(java.util.function.Consumer):750:750 -> mutateObjectAllocationInfoCollection
-    1:6:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Collection,java.util.Collection):964:969 -> prunedCopyFrom
-    1:1:void removeFromSingleTargetLookupCache(com.android.tools.r8.graph.DexClass):754:754 -> removeFromSingleTargetLookupCache
-    1:5:com.android.tools.r8.com.google.common.collect.ImmutableSortedSet rewriteItems(java.util.Set,java.util.function.Function):889:893 -> rewriteItems
-    1:10:java.util.SortedMap rewriteKeysConservativelyWhileMergingValues(java.util.Map,java.util.function.Function):899:908 -> rewriteKeysConservativelyWhileMergingValues
-    1:6:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):974:979 -> rewrittenWithLens
-    7:7:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):978:978 -> rewrittenWithLens
-    1:2:boolean wasPruned(com.android.tools.r8.graph.DexType):1058:1059 -> wasPruned
-    1:3:com.android.tools.r8.shaking.AppInfoWithLiveness withEnumValueInfoMaps(com.android.tools.r8.graph.EnumValueInfoMapCollection):1257:1259 -> withEnumValueInfoMaps
-    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness withLiveness():924:924 -> withLiveness
-    1:3:com.android.tools.r8.shaking.AppInfoWithLiveness withSwitchMaps(java.util.Map):1251:1253 -> withSwitchMaps
-    1:6:com.android.tools.r8.shaking.AppInfoWithLiveness withoutStaticFieldsWrites(java.util.Set):693:698 -> withoutStaticFieldsWrites
+    38:38:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1143 -> lookupSingleVirtualTarget
+    39:62:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1143:1166 -> lookupSingleVirtualTarget
+    63:83:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1165:1185 -> lookupSingleVirtualTarget
+    84:94:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement):1184:1194 -> lookupSingleVirtualTarget
+    1:13:boolean mayHaveFinalizeMethodDirectlyOrIndirectly(com.android.tools.r8.ir.analysis.type.ClassTypeElement):1365:1377 -> mayHaveFinalizeMethodDirectlyOrIndirectly
+    1:22:boolean mayHaveFinalizer(com.android.tools.r8.graph.DexType):1382:1403 -> mayHaveFinalizer
+    1:5:boolean mayPropagateArgumentsTo(com.android.tools.r8.graph.ProgramMethod):871:875 -> mayPropagateArgumentsTo
+    1:4:boolean mayPropagateValueFor(com.android.tools.r8.graph.DexReference):879:882 -> mayPropagateValueFor
+    1:1:com.android.tools.r8.shaking.AppInfoWithLivenessModifier modifier():549:549 -> modifier
+    1:1:void mutateObjectAllocationInfoCollection(java.util.function.Consumer):770:770 -> mutateObjectAllocationInfoCollection
+    1:6:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.Collection,java.util.Collection):956:961 -> prunedCopyFrom
+    1:1:void removeFromSingleTargetLookupCache(com.android.tools.r8.graph.DexClass):774:774 -> removeFromSingleTargetLookupCache
+    1:8:java.util.SortedMap rewriteInvokesWithContexts(java.util.Map,com.android.tools.r8.graph.GraphLense):892:899 -> rewriteInvokesWithContexts
+    1:6:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):966:971 -> rewrittenWithLens
+    7:7:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLense$NestedGraphLense):970:970 -> rewrittenWithLens
+    1:2:boolean wasPruned(com.android.tools.r8.graph.DexType):1042:1043 -> wasPruned
+    1:3:com.android.tools.r8.shaking.AppInfoWithLiveness withEnumValueInfoMaps(com.android.tools.r8.graph.EnumValueInfoMapCollection):1241:1243 -> withEnumValueInfoMaps
+    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness withLiveness():915:915 -> withLiveness
+    1:3:com.android.tools.r8.shaking.AppInfoWithLiveness withSwitchMaps(java.util.Map):1235:1237 -> withSwitchMaps
+    1:6:com.android.tools.r8.shaking.AppInfoWithLiveness withoutStaticFieldsWrites(java.util.Set):713:718 -> withoutStaticFieldsWrites
 com.android.tools.r8.shaking.AppInfoWithLiveness$1 -> com.android.tools.r8.shaking.AppInfoWithLiveness$1:
-    1:1:void <clinit>():1077:1077 -> <clinit>
+    1:1:void <clinit>():1061:1061 -> <clinit>
 com.android.tools.r8.shaking.AppInfoWithLivenessModifier -> com.android.tools.r8.shaking.AppInfoWithLivenessModifier:
     1:1:void <init>():20:20 -> <init>
     2:3:void <init>():17:18 -> <init>
@@ -62031,7 +62199,7 @@
     1:3:void run(java.util.concurrent.ExecutorService):36:36 -> run
     5:5:void run(java.util.concurrent.ExecutorService):38:38 -> run
     1:1:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):42:42 -> synthesizeClassInitField
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> synthesizeClassInitField
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> synthesizeClassInitField
     2:2:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):42 -> synthesizeClassInitField
     3:38:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):42:77 -> synthesizeClassInitField
 com.android.tools.r8.shaking.ClassInitFieldSynthesizer$1 -> com.android.tools.r8.shaking.ClassInitFieldSynthesizer$1:
@@ -62146,570 +62314,591 @@
     1:1:void lambda$run$1(java.util.List,com.android.tools.r8.graph.DexEncodedField):31:31 -> lambda$run$1
     1:6:java.util.List run():26:31 -> run
 com.android.tools.r8.shaking.Enqueuer -> com.android.tools.r8.shaking.Enqueuer:
-    1:1:void <clinit>():153:153 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):364:364 -> <init>
-    2:3112:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):181:3291 -> <init>
-    3113:3151:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):365:403 -> <init>
-    1:1:boolean access$1000(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexReference):153:153 -> access$1000
-    1:1:void access$1400(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):153:153 -> access$1400
-    1:1:void access$1500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexField):153:153 -> access$1500
-    1:1:com.android.tools.r8.graph.DexProgramClass access$1600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType):153:153 -> access$1600
-    1:1:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl access$1700(com.android.tools.r8.shaking.Enqueuer):153:153 -> access$1700
-    1:1:void access$1800(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):153:153 -> access$1800
-    1:1:com.android.tools.r8.utils.InternalOptions access$1900(com.android.tools.r8.shaking.Enqueuer):153:153 -> access$1900
-    1:1:void access$2000(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):153:153 -> access$2000
-    1:1:void access$2100(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMethod):153:153 -> access$2100
-    1:1:void access$2200(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):153:153 -> access$2200
-    1:1:void access$2300(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepReason):153:153 -> access$2300
-    1:1:com.android.tools.r8.graph.DexClass access$2400(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType):153:153 -> access$2400
-    1:1:com.android.tools.r8.shaking.Enqueuer$Mode access$400(com.android.tools.r8.shaking.Enqueuer):153:153 -> access$400
-    1:1:com.android.tools.r8.shaking.GraphReporter access$500(com.android.tools.r8.shaking.Enqueuer):153:153 -> access$500
-    1:1:com.android.tools.r8.shaking.EnqueuerWorklist access$600(com.android.tools.r8.shaking.Enqueuer):153:153 -> access$600
-    1:1:com.android.tools.r8.shaking.Enqueuer$SetWithReason access$700(com.android.tools.r8.shaking.Enqueuer):153:153 -> access$700
-    1:1:void access$800(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):153:153 -> access$800
-    1:1:boolean access$900(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):153:153 -> access$900
-    1:30:void addConsequentRootSet(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,boolean):3242:3271 -> addConsequentRootSet
-    1:1:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):460:460 -> addDeadProtoTypeCandidate
+    1:1:void <clinit>():155:155 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):356:356 -> <init>
+    2:3156:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):183:3337 -> <init>
+    3157:3200:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):357:400 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection access$1000(com.android.tools.r8.shaking.Enqueuer):155:155 -> access$1000
+    1:1:void access$1400(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):155:155 -> access$1400
+    1:1:void access$1500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexField):155:155 -> access$1500
+    1:1:com.android.tools.r8.graph.DexProgramClass access$1600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType):155:155 -> access$1600
+    1:1:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl access$1700(com.android.tools.r8.shaking.Enqueuer):155:155 -> access$1700
+    1:1:void access$1800(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):155:155 -> access$1800
+    1:1:com.android.tools.r8.utils.InternalOptions access$1900(com.android.tools.r8.shaking.Enqueuer):155:155 -> access$1900
+    1:1:void access$2000(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):155:155 -> access$2000
+    1:1:void access$2100(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMethod):155:155 -> access$2100
+    1:1:void access$2200(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):155:155 -> access$2200
+    1:1:void access$2300(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepReason):155:155 -> access$2300
+    1:1:com.android.tools.r8.graph.DexClass access$2400(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType):155:155 -> access$2400
+    1:1:com.android.tools.r8.shaking.Enqueuer$Mode access$400(com.android.tools.r8.shaking.Enqueuer):155:155 -> access$400
+    1:1:com.android.tools.r8.shaking.GraphReporter access$500(com.android.tools.r8.shaking.Enqueuer):155:155 -> access$500
+    1:1:com.android.tools.r8.shaking.EnqueuerWorklist access$600(com.android.tools.r8.shaking.Enqueuer):155:155 -> access$600
+    1:1:com.android.tools.r8.shaking.Enqueuer$SetWithReason access$700(com.android.tools.r8.shaking.Enqueuer):155:155 -> access$700
+    1:1:void access$800(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):155:155 -> access$800
+    1:1:boolean access$900(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):155:155 -> access$900
+    1:30:void addConsequentRootSet(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,boolean):3288:3317 -> addConsequentRootSet
+    1:1:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):457:457 -> addDeadProtoTypeCandidate
     2:2:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):0:0 -> addDeadProtoTypeCandidate
-    2:2:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):460 -> addDeadProtoTypeCandidate
-    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> addDeadProtoTypeCandidate
-    3:3:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):291 -> addDeadProtoTypeCandidate
-    3:3:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):460 -> addDeadProtoTypeCandidate
-    4:4:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):292:292 -> addDeadProtoTypeCandidate
-    4:4:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):460 -> addDeadProtoTypeCandidate
-    5:6:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):460:461 -> addDeadProtoTypeCandidate
-    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> addDeadProtoTypeCandidate
-    7:7:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):461 -> addDeadProtoTypeCandidate
-    8:8:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):461:461 -> addDeadProtoTypeCandidate
-    9:9:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):465:465 -> addDeadProtoTypeCandidate
-    1:10:void addLiveNonProgramType(com.android.tools.r8.graph.DexClass):550:559 -> addLiveNonProgramType
-    1:7:void addNonProgramClassToWorklist(com.android.tools.r8.graph.DexType,java.util.Deque):586:592 -> addNonProgramClassToWorklist
-    8:8:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> addNonProgramClassToWorklist
-    8:8:void addNonProgramClassToWorklist(com.android.tools.r8.graph.DexType,java.util.Deque):592 -> addNonProgramClassToWorklist
-    9:15:void addNonProgramClassToWorklist(com.android.tools.r8.graph.DexType,java.util.Deque):594:600 -> addNonProgramClassToWorklist
-    1:2:boolean addPinnedItem(com.android.tools.r8.graph.DexReference):2640:2641 -> addPinnedItem
-    3:19:boolean addPinnedItem(com.android.tools.r8.graph.DexReference,java.util.Set):2645:2661 -> addPinnedItem
-    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo():407:407 -> appInfo
-    1:16:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1958:1973 -> checkLambdaInterface
-    1:1:java.util.function.Function classReferencedFromReporter(com.android.tools.r8.graph.ProgramMethod):1396:1396 -> classReferencedFromReporter
-    1:4:void compatEnqueueHolderIfDependentNonStaticMember(com.android.tools.r8.graph.DexClass,java.util.Set):712:715 -> compatEnqueueHolderIfDependentNonStaticMember
-    1:5:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():3281:3285 -> computeDelayedInterfaceMethodSyntheticBridges
-    6:10:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():3284:3288 -> computeDelayedInterfaceMethodSyntheticBridges
-    1:7:com.android.tools.r8.utils.Visibility computeMinimumRequiredVisibilityForInitClassField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):942:948 -> computeMinimumRequiredVisibilityForInitClassField
-    1:98:com.android.tools.r8.shaking.AppInfoWithLiveness createAppInfo(com.android.tools.r8.graph.AppInfoWithClassHierarchy):2843:2940 -> createAppInfo
-    1:5:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory createUseRegistryFactory():419:423 -> createUseRegistryFactory
-    1:7:com.android.tools.r8.graph.DexDefinition definitionFor(com.android.tools.r8.graph.DexReference):511:517 -> definitionFor
-    8:12:com.android.tools.r8.graph.DexEncodedField definitionFor(com.android.tools.r8.graph.DexField):522:526 -> definitionFor
-    13:17:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):530:534 -> definitionFor
-    18:18:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):538:538 -> definitionFor
-    19:19:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> definitionFor
-    19:19:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):538 -> definitionFor
-    20:24:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):540:544 -> definitionFor
-    1:1:void enqueueDependentItem(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexDefinition,java.util.Set):1618:1618 -> enqueueDependentItem
-    1:12:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):686:697 -> enqueueFirstNonSerializableClassInitializer
-    1:1:void enqueueHolderWithDependentInstanceConstructor(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.Set):1623:1623 -> enqueueHolderWithDependentInstanceConstructor
-    1:2:boolean enqueueMarkMethodLiveAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):703:704 -> enqueueMarkMethodLiveAction
-    1:1:void enqueueRootItem(java.util.Map$Entry):626:626 -> enqueueRootItem
-    2:2:com.android.tools.r8.graph.DexDefinition com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexReference):231:231 -> enqueueRootItem
-    2:2:void enqueueRootItem(java.util.Map$Entry):626 -> enqueueRootItem
-    3:3:void enqueueRootItem(java.util.Map$Entry):628:628 -> enqueueRootItem
-    4:4:void enqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set):636:636 -> enqueueRootItem
-    1:1:void enqueueRootItems(java.util.Map):622:622 -> enqueueRootItems
-    1:7:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):1796:1802 -> ensureFromLibraryOrThrow
-    8:8:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> ensureFromLibraryOrThrow
-    8:8:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):1802 -> ensureFromLibraryOrThrow
-    9:42:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):1803:1836 -> ensureFromLibraryOrThrow
-    1:6:void ensureLambdaAccessibility():2945:2950 -> ensureLambdaAccessibility
-    1:4:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.DexClass):1559:1562 -> ensureMethodsContinueToWidenAccess
-    5:5:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.KeepReason):1567:1567 -> ensureMethodsContinueToWidenAccess
-    1:4:void finalizeLibraryMethodOverrideInformation():2820:2823 -> finalizeLibraryMethodOverrideInformation
-    1:1:void forAllLiveClasses(java.util.function.Consumer):2358:2358 -> forAllLiveClasses
-    1:5:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):2514:2518 -> generatedEnumValuesMethod
-    6:11:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):2517:2522 -> generatedEnumValuesMethod
-    1:1:com.android.tools.r8.shaking.GraphReporter getGraphReporter():415:415 -> getGraphReporter
-    1:9:java.util.Set getImmediateSubtypesInInstantiatedHierarchy(com.android.tools.r8.graph.DexProgramClass):3435:3443 -> getImmediateSubtypesInInstantiatedHierarchy
-    1:1:com.android.tools.r8.graph.DexMethod getInvokeSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1400:1400 -> getInvokeSuperTarget
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> getInvokeSuperTarget
-    2:2:com.android.tools.r8.graph.DexMethod getInvokeSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1400 -> getInvokeSuperTarget
-    3:12:com.android.tools.r8.graph.DexMethod getInvokeSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1401:1410 -> getInvokeSuperTarget
-    1:1:com.android.tools.r8.shaking.Enqueuer$Mode getMode():411:411 -> getMode
-    1:3:long getNumberOfLiveItems():3235:3237 -> getNumberOfLiveItems
-    1:2:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNull(com.android.tools.r8.graph.DexType):604:605 -> getProgramClassOrNull
-    1:1:java.util.Set getReachableVirtualTargets(com.android.tools.r8.graph.DexProgramClass):2035:2035 -> getReachableVirtualTargets
-    1:1:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory getUseRegistryFactory():427:427 -> getUseRegistryFactory
-    1:21:void handleInterfaceMethodSyntheticBridgeAction(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction,com.android.tools.r8.shaking.RootSetBuilder):3295:3315 -> handleInterfaceMethodSyntheticBridgeAction
-    22:30:void handleInterfaceMethodSyntheticBridgeAction(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction,com.android.tools.r8.shaking.RootSetBuilder):3311:3319 -> handleInterfaceMethodSyntheticBridgeAction
-    1:32:void handleInvokeOfDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepReason):1760:1791 -> handleInvokeOfDirectTarget
-    1:16:void handleInvokeOfStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepReason):1701:1716 -> handleInvokeOfStaticTarget
-    1:8:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3640:3647 -> handleJavaLangClassNewInstance
-    9:26:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3646:3663 -> handleJavaLangClassNewInstance
-    1:5:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3819:3823 -> handleJavaLangEnumValueOf
-    1:21:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3670:3690 -> handleJavaLangReflectConstructorNewInstance
-    22:96:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3689:3763 -> handleJavaLangReflectConstructorNewInstance
-    1:36:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3773:3808 -> handleJavaLangReflectProxyNewProxyInstance
-    1:5:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod):3528:3532 -> handleReflectiveBehavior
-    6:44:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3537:3575 -> handleReflectiveBehavior
-    45:45:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3574:3574 -> handleReflectiveBehavior
-    46:46:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> handleReflectiveBehavior
-    46:46:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3579 -> handleReflectiveBehavior
-    47:51:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3579:3583 -> handleReflectiveBehavior
-    52:58:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3582:3588 -> handleReflectiveBehavior
-    59:76:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3580:3597 -> handleReflectiveBehavior
+    2:2:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):457 -> addDeadProtoTypeCandidate
+    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> addDeadProtoTypeCandidate
+    3:3:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):317 -> addDeadProtoTypeCandidate
+    3:3:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):457 -> addDeadProtoTypeCandidate
+    4:4:boolean com.android.tools.r8.graph.DexType.isProgramType(com.android.tools.r8.graph.DexDefinitionSupplier):318:318 -> addDeadProtoTypeCandidate
+    4:4:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):457 -> addDeadProtoTypeCandidate
+    5:6:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):457:458 -> addDeadProtoTypeCandidate
+    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> addDeadProtoTypeCandidate
+    7:7:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):458 -> addDeadProtoTypeCandidate
+    8:8:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):458:458 -> addDeadProtoTypeCandidate
+    9:9:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):462:462 -> addDeadProtoTypeCandidate
+    1:10:void addLiveNonProgramType(com.android.tools.r8.graph.DexClass):532:541 -> addLiveNonProgramType
+    1:7:void addNonProgramClassToWorklist(com.android.tools.r8.graph.DexType,java.util.Deque):568:574 -> addNonProgramClassToWorklist
+    8:8:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> addNonProgramClassToWorklist
+    8:8:void addNonProgramClassToWorklist(com.android.tools.r8.graph.DexType,java.util.Deque):574 -> addNonProgramClassToWorklist
+    9:15:void addNonProgramClassToWorklist(com.android.tools.r8.graph.DexType,java.util.Deque):576:582 -> addNonProgramClassToWorklist
+    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo():404:404 -> appInfo
+    1:16:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1993:2008 -> checkLambdaInterface
+    1:1:java.util.function.Function classReferencedFromReporter(com.android.tools.r8.graph.ProgramMethod):1431:1431 -> classReferencedFromReporter
+    1:4:void compatEnqueueHolderIfDependentNonStaticMember(com.android.tools.r8.graph.DexClass,java.util.Set):747:750 -> compatEnqueueHolderIfDependentNonStaticMember
+    1:5:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():3327:3331 -> computeDelayedInterfaceMethodSyntheticBridges
+    6:10:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():3330:3334 -> computeDelayedInterfaceMethodSyntheticBridges
+    1:5:boolean computeDisallowAccessModification(java.util.Set):2700:2704 -> computeDisallowAccessModification
+    1:7:com.android.tools.r8.utils.Visibility computeMinimumRequiredVisibilityForInitClassField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):977:983 -> computeMinimumRequiredVisibilityForInitClassField
+    1:57:com.android.tools.r8.shaking.AppInfoWithLiveness createAppInfo(com.android.tools.r8.graph.AppInfoWithClassHierarchy):2889:2945 -> createAppInfo
+    58:60:java.util.Set com.android.tools.r8.utils.SetUtils.mapIdentityHashSet(java.util.Set,java.util.function.Function):45:47 -> createAppInfo
+    58:60:com.android.tools.r8.shaking.AppInfoWithLiveness createAppInfo(com.android.tools.r8.graph.AppInfoWithClassHierarchy):2945 -> createAppInfo
+    61:102:com.android.tools.r8.shaking.AppInfoWithLiveness createAppInfo(com.android.tools.r8.graph.AppInfoWithClassHierarchy):2945:2986 -> createAppInfo
+    1:5:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory createUseRegistryFactory():416:420 -> createUseRegistryFactory
+    1:5:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):508:512 -> definitionFor
+    6:6:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):516:516 -> definitionFor
+    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> definitionFor
+    7:7:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):516 -> definitionFor
+    8:12:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):518:522 -> definitionFor
+    1:1:void enqueueDependentItem(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexDefinition,java.util.Set):1653:1653 -> enqueueDependentItem
+    1:12:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):721:732 -> enqueueFirstNonSerializableClassInitializer
+    1:1:void enqueueHolderWithDependentInstanceConstructor(com.android.tools.r8.graph.ProgramMethod,java.util.Set):1658:1658 -> enqueueHolderWithDependentInstanceConstructor
+    1:2:boolean enqueueMarkMethodLiveAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):738:739 -> enqueueMarkMethodLiveAction
+    1:1:void enqueueRootClass(com.android.tools.r8.graph.DexType,java.util.Set):625:625 -> enqueueRootClass
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> enqueueRootClass
+    2:2:void enqueueRootClass(com.android.tools.r8.graph.DexType,java.util.Set):625 -> enqueueRootClass
+    3:5:void enqueueRootClass(com.android.tools.r8.graph.DexType,java.util.Set):625:627 -> enqueueRootClass
+    6:7:void enqueueRootClass(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):633:634 -> enqueueRootClass
+    8:8:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> enqueueRootClass
+    8:8:void enqueueRootClass(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):635 -> enqueueRootClass
+    9:19:void enqueueRootClass(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):636:646 -> enqueueRootClass
+    20:24:void enqueueRootClass(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):644:648 -> enqueueRootClass
+    25:25:boolean com.android.tools.r8.graph.DexClass.isExternalizable(com.android.tools.r8.graph.AppView):615:615 -> enqueueRootClass
+    25:25:void enqueueRootClass(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):648 -> enqueueRootClass
+    26:26:void enqueueRootClass(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):649:649 -> enqueueRootClass
+    1:1:void enqueueRootField(com.android.tools.r8.graph.DexField,java.util.Set):657:657 -> enqueueRootField
+    2:2:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexProgramClass.lookupProgramField(com.android.tools.r8.graph.DexField):183:183 -> enqueueRootField
+    2:2:void enqueueRootField(com.android.tools.r8.graph.DexField,java.util.Set):659 -> enqueueRootField
+    3:3:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexProgramClass.toProgramFieldOrNull(com.android.tools.r8.graph.DexEncodedField):192:192 -> enqueueRootField
+    3:3:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexProgramClass.lookupProgramField(com.android.tools.r8.graph.DexField):183 -> enqueueRootField
+    3:3:void enqueueRootField(com.android.tools.r8.graph.DexField,java.util.Set):659 -> enqueueRootField
+    4:4:void enqueueRootField(com.android.tools.r8.graph.DexField,java.util.Set):661:661 -> enqueueRootField
+    5:7:void enqueueRootField(com.android.tools.r8.graph.ProgramField,java.util.Set,com.android.tools.r8.graph.DexDefinition):668:670 -> enqueueRootField
+    8:8:void enqueueRootField(com.android.tools.r8.graph.ProgramField,java.util.Set,com.android.tools.r8.graph.DexDefinition):669:669 -> enqueueRootField
+    1:10:void enqueueRootItem(java.util.Map$Entry):610:619 -> enqueueRootItem
+    11:11:void enqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set):692:692 -> enqueueRootItem
+    1:1:void enqueueRootItems(java.util.Map):600:600 -> enqueueRootItems
+    2:4:void enqueueRootItems(com.android.tools.r8.shaking.RootSetBuilder$ItemsWithRules):604:606 -> enqueueRootItems
+    1:5:void enqueueRootMethod(com.android.tools.r8.graph.DexMethod,java.util.Set):675:679 -> enqueueRootMethod
+    6:8:void enqueueRootMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.graph.DexDefinition):686:688 -> enqueueRootMethod
+    9:9:void enqueueRootMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.graph.DexDefinition):687:687 -> enqueueRootMethod
+    1:7:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):1831:1837 -> ensureFromLibraryOrThrow
+    8:8:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> ensureFromLibraryOrThrow
+    8:8:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):1837 -> ensureFromLibraryOrThrow
+    9:42:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):1838:1871 -> ensureFromLibraryOrThrow
+    1:6:void ensureLambdaAccessibility():2991:2996 -> ensureLambdaAccessibility
+    1:4:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.DexClass):1594:1597 -> ensureMethodsContinueToWidenAccess
+    5:5:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.KeepReason):1602:1602 -> ensureMethodsContinueToWidenAccess
+    1:4:void finalizeLibraryMethodOverrideInformation():2866:2869 -> finalizeLibraryMethodOverrideInformation
+    1:1:void forAllLiveClasses(java.util.function.Consumer):2393:2393 -> forAllLiveClasses
+    1:5:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):2549:2553 -> generatedEnumValuesMethod
+    6:11:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):2552:2557 -> generatedEnumValuesMethod
+    1:1:com.android.tools.r8.shaking.GraphReporter getGraphReporter():412:412 -> getGraphReporter
+    1:9:java.util.Set getImmediateSubtypesInInstantiatedHierarchy(com.android.tools.r8.graph.DexProgramClass):3482:3490 -> getImmediateSubtypesInInstantiatedHierarchy
+    1:1:com.android.tools.r8.graph.DexMethod getInvokeSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1435:1435 -> getInvokeSuperTarget
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> getInvokeSuperTarget
+    2:2:com.android.tools.r8.graph.DexMethod getInvokeSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1435 -> getInvokeSuperTarget
+    3:12:com.android.tools.r8.graph.DexMethod getInvokeSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1436:1445 -> getInvokeSuperTarget
+    1:1:com.android.tools.r8.shaking.Enqueuer$Mode getMode():408:408 -> getMode
+    1:3:long getNumberOfLiveItems():3281:3283 -> getNumberOfLiveItems
+    1:2:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNull(com.android.tools.r8.graph.DexType):586:587 -> getProgramClassOrNull
+    1:1:java.util.Set getReachableVirtualTargets(com.android.tools.r8.graph.DexProgramClass):2070:2070 -> getReachableVirtualTargets
+    1:1:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory getUseRegistryFactory():424:424 -> getUseRegistryFactory
+    1:21:void handleInterfaceMethodSyntheticBridgeAction(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction,com.android.tools.r8.shaking.RootSetBuilder):3341:3361 -> handleInterfaceMethodSyntheticBridgeAction
+    22:30:void handleInterfaceMethodSyntheticBridgeAction(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction,com.android.tools.r8.shaking.RootSetBuilder):3357:3365 -> handleInterfaceMethodSyntheticBridgeAction
+    1:32:void handleInvokeOfDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepReason):1795:1826 -> handleInvokeOfDirectTarget
+    1:16:void handleInvokeOfStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepReason):1736:1751 -> handleInvokeOfStaticTarget
+    1:8:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3688:3695 -> handleJavaLangClassNewInstance
+    9:26:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3694:3711 -> handleJavaLangClassNewInstance
+    1:5:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3867:3871 -> handleJavaLangEnumValueOf
+    1:21:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3718:3738 -> handleJavaLangReflectConstructorNewInstance
+    22:96:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3737:3811 -> handleJavaLangReflectConstructorNewInstance
+    1:36:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3821:3856 -> handleJavaLangReflectProxyNewProxyInstance
+    1:5:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod):3575:3579 -> handleReflectiveBehavior
+    6:44:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3584:3622 -> handleReflectiveBehavior
+    45:45:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3621:3621 -> handleReflectiveBehavior
+    46:46:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> handleReflectiveBehavior
+    46:46:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3626 -> handleReflectiveBehavior
+    47:51:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3626:3630 -> handleReflectiveBehavior
+    52:58:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3629:3635 -> handleReflectiveBehavior
+    59:76:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3627:3644 -> handleReflectiveBehavior
     77:77:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> handleReflectiveBehavior
-    77:77:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3607 -> handleReflectiveBehavior
-    78:82:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3607:3611 -> handleReflectiveBehavior
-    83:106:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3610:3633 -> handleReflectiveBehavior
-    107:108:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3630:3631 -> handleReflectiveBehavior
-    1:13:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepReason):3862:3874 -> handleServiceInstantiation
-    1:19:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3829:3847 -> handleServiceLoaderInvocation
-    20:36:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3840:3856 -> handleServiceLoaderInvocation
-    1:3:void internalEnqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set,com.android.tools.r8.graph.DexDefinition):641:643 -> internalEnqueueRootItem
-    4:4:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> internalEnqueueRootItem
-    4:4:void internalEnqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set,com.android.tools.r8.graph.DexDefinition):644 -> internalEnqueueRootItem
-    5:15:void internalEnqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set,com.android.tools.r8.graph.DexDefinition):645:655 -> internalEnqueueRootItem
-    16:20:void internalEnqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set,com.android.tools.r8.graph.DexDefinition):653:657 -> internalEnqueueRootItem
-    21:21:boolean com.android.tools.r8.graph.DexClass.isExternalizable(com.android.tools.r8.graph.AppView):608:608 -> internalEnqueueRootItem
-    21:21:void internalEnqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set,com.android.tools.r8.graph.DexDefinition):657 -> internalEnqueueRootItem
-    22:32:void internalEnqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set,com.android.tools.r8.graph.DexDefinition):658:668 -> internalEnqueueRootItem
-    33:43:void internalEnqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set,com.android.tools.r8.graph.DexDefinition):666:676 -> internalEnqueueRootItem
-    44:51:void internalEnqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set,com.android.tools.r8.graph.DexDefinition):674:681 -> internalEnqueueRootItem
-    52:52:void internalEnqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set,com.android.tools.r8.graph.DexDefinition):679:679 -> internalEnqueueRootItem
-    1:1:boolean isFieldLive(com.android.tools.r8.graph.ProgramField):2302:2302 -> isFieldLive
-    1:2:boolean isFieldRead(com.android.tools.r8.graph.ProgramField):2306:2307 -> isFieldRead
-    1:1:boolean isFieldReferenced(com.android.tools.r8.graph.DexEncodedField):2297:2297 -> isFieldReferenced
-    1:2:boolean isFieldWrittenInMethodSatisfying(com.android.tools.r8.graph.ProgramField,java.util.function.Predicate):2312:2313 -> isFieldWrittenInMethodSatisfying
-    1:5:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2317:2321 -> isFieldWrittenOutsideDefaultConstructor
-    6:574:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():0:568 -> isFieldWrittenOutsideDefaultConstructor
-    6:574:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2321 -> isFieldWrittenOutsideDefaultConstructor
-    575:576:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2323:2324 -> isFieldWrittenOutsideDefaultConstructor
-    1:4:boolean isMemberLive(com.android.tools.r8.graph.DexEncodedMember):2328:2331 -> isMemberLive
-    1:1:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2335:2335 -> isMethodLive
-    1:1:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2339:2339 -> isMethodTargeted
-    1:1:boolean isMissing(com.android.tools.r8.graph.DexType):2665:2665 -> isMissing
-    1:2:boolean isNonProgramTypeLive(com.android.tools.r8.graph.DexClass):2353:2354 -> isNonProgramTypeLive
-    1:1:boolean isPinned(com.android.tools.r8.graph.DexReference):2636:2636 -> isPinned
-    1:1:boolean isProgramClass(com.android.tools.r8.graph.DexType):469:469 -> isProgramClass
-    1:3:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2343:2345 -> isTypeLive
-    4:4:boolean isTypeLive(com.android.tools.r8.graph.DexProgramClass):2349:2349 -> isTypeLive
-    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap joinIdentifierNameStrings(java.util.Set,java.util.Set):3135:3140 -> joinIdentifierNameStrings
-    1:6:void lambda$addConsequentRootSet$55(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,com.android.tools.r8.graph.DexProgramClass):3245:3250 -> lambda$addConsequentRootSet$55
-    7:99:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):0:92 -> lambda$addConsequentRootSet$55
-    7:99:void lambda$addConsequentRootSet$55(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,com.android.tools.r8.graph.DexProgramClass):3250 -> lambda$addConsequentRootSet$55
-    100:104:void lambda$addConsequentRootSet$55(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,com.android.tools.r8.graph.DexProgramClass):3252:3256 -> lambda$addConsequentRootSet$55
-    105:105:void lambda$addConsequentRootSet$55(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,com.android.tools.r8.graph.DexProgramClass):3255:3255 -> lambda$addConsequentRootSet$55
-    1:2:void lambda$addConsequentRootSet$56(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,com.android.tools.r8.graph.DexEncodedMember):3262:3263 -> lambda$addConsequentRootSet$56
-    1:2:void lambda$addConsequentRootSet$57(com.android.tools.r8.graph.DexType,java.util.Set):3273:3274 -> lambda$addConsequentRootSet$57
-    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.asDexType():0:0 -> lambda$addConsequentRootSet$57
-    3:3:void lambda$addConsequentRootSet$57(com.android.tools.r8.graph.DexType,java.util.Set):3274 -> lambda$addConsequentRootSet$57
-    4:4:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> lambda$addConsequentRootSet$57
-    4:4:void lambda$addConsequentRootSet$57(com.android.tools.r8.graph.DexType,java.util.Set):3274 -> lambda$addConsequentRootSet$57
-    5:5:void lambda$addConsequentRootSet$57(com.android.tools.r8.graph.DexType,java.util.Set):3275:3275 -> lambda$addConsequentRootSet$57
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$classReferencedFromReporter$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1396:1396 -> lambda$classReferencedFromReporter$16
-    1:1:boolean lambda$createAppInfo$49(java.util.Map$Entry):2846:2846 -> lambda$createAppInfo$49
-    1:1:boolean lambda$createAppInfo$50(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):2854:2854 -> lambda$createAppInfo$50
-    1:1:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory lambda$createUseRegistryFactory$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):421:421 -> lambda$createUseRegistryFactory$0
-    1:1:void lambda$ensureFromLibraryOrThrow$29(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):1810:1810 -> lambda$ensureFromLibraryOrThrow$29
-    2:2:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.toReference():488:488 -> lambda$ensureFromLibraryOrThrow$29
-    2:2:void lambda$ensureFromLibraryOrThrow$29(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):1811 -> lambda$ensureFromLibraryOrThrow$29
-    3:8:void lambda$ensureFromLibraryOrThrow$29(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):1812:1817 -> lambda$ensureFromLibraryOrThrow$29
-    1:13:void lambda$ensureLambdaAccessibility$51(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaClass):2952:2964 -> lambda$ensureLambdaAccessibility$51
-    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$ensureMethodsContinueToWidenAccess$24(com.android.tools.r8.graph.DexType):1561:1561 -> lambda$ensureMethodsContinueToWidenAccess$24
-    1:3:boolean lambda$ensureMethodsContinueToWidenAccess$25(com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):1569:1571 -> lambda$ensureMethodsContinueToWidenAccess$25
-    1:1:void lambda$ensureMethodsContinueToWidenAccess$26(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.ProgramMethod):1572:1572 -> lambda$ensureMethodsContinueToWidenAccess$26
-    1:4:void lambda$markFailedResolutionTargets$46(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.DexEncodedMethod):2505:2508 -> lambda$markFailedResolutionTargets$46
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markFieldAsTargeted$35(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):2219:2219 -> lambda$markFieldAsTargeted$35
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markFieldAsTargeted$36(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):2220:2220 -> lambda$markFieldAsTargeted$36
+    77:77:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3654 -> handleReflectiveBehavior
+    78:82:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3654:3658 -> handleReflectiveBehavior
+    83:107:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3657:3681 -> handleReflectiveBehavior
+    108:109:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):3678:3679 -> handleReflectiveBehavior
+    1:13:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepReason):3910:3922 -> handleServiceInstantiation
+    1:19:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3877:3895 -> handleServiceLoaderInvocation
+    20:36:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):3888:3904 -> handleServiceLoaderInvocation
+    1:19:void internalEnqueueRootItem(com.android.tools.r8.graph.DexDefinition,java.util.Set,com.android.tools.r8.graph.DexDefinition):697:715 -> internalEnqueueRootItem
+    1:1:boolean isFieldLive(com.android.tools.r8.graph.ProgramField):2337:2337 -> isFieldLive
+    1:2:boolean isFieldRead(com.android.tools.r8.graph.ProgramField):2341:2342 -> isFieldRead
+    1:1:boolean isFieldReferenced(com.android.tools.r8.graph.DexEncodedField):2332:2332 -> isFieldReferenced
+    1:2:boolean isFieldWrittenInMethodSatisfying(com.android.tools.r8.graph.ProgramField,java.util.function.Predicate):2347:2348 -> isFieldWrittenInMethodSatisfying
+    1:5:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2352:2356 -> isFieldWrittenOutsideDefaultConstructor
+    6:581:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():0:575 -> isFieldWrittenOutsideDefaultConstructor
+    6:581:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2356 -> isFieldWrittenOutsideDefaultConstructor
+    582:583:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2358:2359 -> isFieldWrittenOutsideDefaultConstructor
+    1:4:boolean isMemberLive(com.android.tools.r8.graph.DexEncodedMember):2363:2366 -> isMemberLive
+    1:1:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2370:2370 -> isMethodLive
+    1:1:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2374:2374 -> isMethodTargeted
+    1:2:boolean isNonProgramTypeLive(com.android.tools.r8.graph.DexClass):2388:2389 -> isNonProgramTypeLive
+    1:1:boolean isPinned(com.android.tools.r8.graph.DexType):528:528 -> isPinned
+    1:1:boolean isProgramClass(com.android.tools.r8.graph.DexType):466:466 -> isProgramClass
+    1:3:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2378:2380 -> isTypeLive
+    4:4:boolean isTypeLive(com.android.tools.r8.graph.DexProgramClass):2384:2384 -> isTypeLive
+    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap joinIdentifierNameStrings(java.util.Set,java.util.Set):3181:3186 -> joinIdentifierNameStrings
+    1:1:void keepClassWithRules(com.android.tools.r8.graph.DexProgramClass,java.util.Set):2672:2672 -> keepClassWithRules
+    1:1:void keepFieldWithRules(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,java.util.Set):2691:2691 -> keepFieldWithRules
+    1:1:void keepMethodWithRules(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):2681:2681 -> keepMethodWithRules
+    1:6:void lambda$addConsequentRootSet$62(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,com.android.tools.r8.graph.DexProgramClass):3291:3296 -> lambda$addConsequentRootSet$62
+    7:99:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):0:92 -> lambda$addConsequentRootSet$62
+    7:99:void lambda$addConsequentRootSet$62(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,com.android.tools.r8.graph.DexProgramClass):3296 -> lambda$addConsequentRootSet$62
+    100:104:void lambda$addConsequentRootSet$62(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,com.android.tools.r8.graph.DexProgramClass):3298:3302 -> lambda$addConsequentRootSet$62
+    105:105:void lambda$addConsequentRootSet$62(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,com.android.tools.r8.graph.DexProgramClass):3301:3301 -> lambda$addConsequentRootSet$62
+    1:2:void lambda$addConsequentRootSet$63(com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.shaking.RootSetBuilder$ItemsWithRules):3308:3309 -> lambda$addConsequentRootSet$63
+    1:2:void lambda$addConsequentRootSet$64(com.android.tools.r8.graph.DexType,java.util.Set):3319:3320 -> lambda$addConsequentRootSet$64
+    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.asDexType():0:0 -> lambda$addConsequentRootSet$64
+    3:3:void lambda$addConsequentRootSet$64(com.android.tools.r8.graph.DexType,java.util.Set):3320 -> lambda$addConsequentRootSet$64
+    4:4:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> lambda$addConsequentRootSet$64
+    4:4:void lambda$addConsequentRootSet$64(com.android.tools.r8.graph.DexType,java.util.Set):3320 -> lambda$addConsequentRootSet$64
+    5:5:void lambda$addConsequentRootSet$64(com.android.tools.r8.graph.DexType,java.util.Set):3321:3321 -> lambda$addConsequentRootSet$64
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$classReferencedFromReporter$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1431:1431 -> lambda$classReferencedFromReporter$16
+    1:1:void lambda$createAppInfo$56(java.util.Set,com.android.tools.r8.graph.DexProgramClass):2895:2895 -> lambda$createAppInfo$56
+    1:1:boolean lambda$createAppInfo$57(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):2901:2901 -> lambda$createAppInfo$57
+    1:1:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory lambda$createUseRegistryFactory$1(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):418:418 -> lambda$createUseRegistryFactory$1
+    1:4:void lambda$ensureFromLibraryOrThrow$29(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):1845:1848 -> lambda$ensureFromLibraryOrThrow$29
+    5:5:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.toReference():495:495 -> lambda$ensureFromLibraryOrThrow$29
+    5:5:void lambda$ensureFromLibraryOrThrow$29(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):1848 -> lambda$ensureFromLibraryOrThrow$29
+    6:10:void lambda$ensureFromLibraryOrThrow$29(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):1848:1852 -> lambda$ensureFromLibraryOrThrow$29
+    1:13:void lambda$ensureLambdaAccessibility$58(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaClass):2998:3010 -> lambda$ensureLambdaAccessibility$58
+    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$ensureMethodsContinueToWidenAccess$24(com.android.tools.r8.graph.DexType):1596:1596 -> lambda$ensureMethodsContinueToWidenAccess$24
+    1:3:boolean lambda$ensureMethodsContinueToWidenAccess$25(com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):1604:1606 -> lambda$ensureMethodsContinueToWidenAccess$25
+    1:1:void lambda$ensureMethodsContinueToWidenAccess$26(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.ProgramMethod):1607:1607 -> lambda$ensureMethodsContinueToWidenAccess$26
+    1:1:java.lang.Boolean lambda$keepClassWithRules$50(java.util.Set):2676:2676 -> lambda$keepClassWithRules$50
+    1:2:void lambda$keepClassWithRules$51(java.util.Set,com.android.tools.r8.shaking.KeepClassInfo$Joiner):2675:2676 -> lambda$keepClassWithRules$51
+    1:1:java.lang.Boolean lambda$keepFieldWithRules$54(java.util.Set):2696:2696 -> lambda$keepFieldWithRules$54
+    1:2:void lambda$keepFieldWithRules$55(java.util.Set,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):2695:2696 -> lambda$keepFieldWithRules$55
+    1:1:java.lang.Boolean lambda$keepMethodWithRules$52(java.util.Set):2686:2686 -> lambda$keepMethodWithRules$52
+    1:2:void lambda$keepMethodWithRules$53(java.util.Set,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):2685:2686 -> lambda$keepMethodWithRules$53
+    1:4:void lambda$markFailedResolutionTargets$47(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.DexEncodedMethod):2540:2543 -> lambda$markFailedResolutionTargets$47
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markFieldAsTargeted$35(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):2254:2254 -> lambda$markFieldAsTargeted$35
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markFieldAsTargeted$36(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):2255:2255 -> lambda$markFieldAsTargeted$36
     1:1:void com.android.tools.r8.graph.analysis.EnqueuerAnalysis.processNewlyLiveField(com.android.tools.r8.graph.ProgramField):0:0 -> lambda$markInstanceFieldAsLive$39
-    1:1:void lambda$markInstanceFieldAsLive$39(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2267 -> lambda$markInstanceFieldAsLive$39
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markInstanceFieldAsReachable$40(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.DexProgramClass):2370:2370 -> lambda$markInstanceFieldAsReachable$40
-    1:1:com.android.tools.r8.utils.collections.ProgramFieldSet lambda$markInstanceFieldAsReachable$41(com.android.tools.r8.graph.DexProgramClass):2384:2384 -> lambda$markInstanceFieldAsReachable$41
-    1:1:java.util.Set lambda$markInterfaceTypeAsLiveViaInheritanceClause$27(com.android.tools.r8.graph.DexProgramClass):1602:1602 -> lambda$markInterfaceTypeAsLiveViaInheritanceClause$27
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markLibraryOrClasspathOverrideLive$33(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod):2135:2135 -> lambda$markLibraryOrClasspathOverrideLive$33
-    1:3:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markLiveOverrides$32(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):2081:2081 -> lambda$markLiveOverrides$32
-    1:1:void lambda$markMethodAsLive$58(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexAnnotation):3473:3473 -> lambda$markMethodAsLive$58
-    1:1:void lambda$markMethodAsLive$59(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3480:3480 -> lambda$markMethodAsLive$59
-    1:1:void lambda$markMethodAsTargeted$30(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexAnnotation):1875:1875 -> lambda$markMethodAsTargeted$30
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markParameterAndReturnTypesAsLive$61(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):3492:3492 -> lambda$markParameterAndReturnTypesAsLive$61
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markParameterAndReturnTypesAsLive$62(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):3496:3496 -> lambda$markParameterAndReturnTypesAsLive$62
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markReferencedTypesAsLive$60(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):3485:3485 -> lambda$markReferencedTypesAsLive$60
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markStaticFieldAsLive$37(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.DexProgramClass):2228:2228 -> lambda$markStaticFieldAsLive$37
+    1:1:void lambda$markInstanceFieldAsLive$39(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2302 -> lambda$markInstanceFieldAsLive$39
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markInstanceFieldAsReachable$40(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.DexProgramClass):2405:2405 -> lambda$markInstanceFieldAsReachable$40
+    1:1:com.android.tools.r8.utils.collections.ProgramFieldSet lambda$markInstanceFieldAsReachable$41(com.android.tools.r8.graph.DexProgramClass):2419:2419 -> lambda$markInstanceFieldAsReachable$41
+    1:1:java.util.Set lambda$markInterfaceTypeAsLiveViaInheritanceClause$27(com.android.tools.r8.graph.DexProgramClass):1637:1637 -> lambda$markInterfaceTypeAsLiveViaInheritanceClause$27
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markLibraryOrClasspathOverrideLive$33(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod):2170:2170 -> lambda$markLibraryOrClasspathOverrideLive$33
+    1:3:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markLiveOverrides$32(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):2116:2116 -> lambda$markLiveOverrides$32
+    1:1:void lambda$markMethodAsLive$65(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexAnnotation):3520:3520 -> lambda$markMethodAsLive$65
+    1:1:void lambda$markMethodAsLive$66(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3527:3527 -> lambda$markMethodAsLive$66
+    1:1:void lambda$markMethodAsTargeted$30(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexAnnotation):1910:1910 -> lambda$markMethodAsTargeted$30
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markParameterAndReturnTypesAsLive$68(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):3539:3539 -> lambda$markParameterAndReturnTypesAsLive$68
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markParameterAndReturnTypesAsLive$69(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):3543:3543 -> lambda$markParameterAndReturnTypesAsLive$69
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markReferencedTypesAsLive$67(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):3532:3532 -> lambda$markReferencedTypesAsLive$67
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markStaticFieldAsLive$37(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.DexProgramClass):2263:2263 -> lambda$markStaticFieldAsLive$37
     1:1:void com.android.tools.r8.graph.analysis.EnqueuerAnalysis.processNewlyLiveField(com.android.tools.r8.graph.ProgramField):0:0 -> lambda$markStaticFieldAsLive$38
-    1:1:void lambda$markStaticFieldAsLive$38(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2251 -> lambda$markStaticFieldAsLive$38
-    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$markSuperMethodAsReachable$47(com.android.tools.r8.graph.DexEncodedMethod):2568:2568 -> lambda$markSuperMethodAsReachable$47
-    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$17(com.android.tools.r8.graph.DexType):1444:1444 -> lambda$markTypeAsLive$17
-    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$18(com.android.tools.r8.graph.DexType):1463:1463 -> lambda$markTypeAsLive$18
-    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$19(com.android.tools.r8.graph.DexType):1470:1470 -> lambda$markTypeAsLive$19
-    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$20(com.android.tools.r8.graph.DexType):1508:1508 -> lambda$markTypeAsLive$20
-    1:1:boolean lambda$markTypeAsLive$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):1544:1544 -> lambda$markTypeAsLive$21
-    1:1:void lambda$markTypeAsLive$22(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):1545:1545 -> lambda$markTypeAsLive$22
-    1:1:void lambda$markTypeAsLive$23(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):1555:1555 -> lambda$markTypeAsLive$23
-    1:1:java.util.Set lambda$markVirtualMethodAsReachable$42(com.android.tools.r8.graph.DexProgramClass):2455:2455 -> lambda$markVirtualMethodAsReachable$42
-    1:1:void lambda$markVirtualMethodAsReachable$43(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):2462:2462 -> lambda$markVirtualMethodAsReachable$43
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markVirtualMethodAsReachable$44(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):2470:2470 -> lambda$markVirtualMethodAsReachable$44
-    1:1:void lambda$markVirtualMethodAsReachable$45(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.LookupTarget):2467:2467 -> lambda$markVirtualMethodAsReachable$45
-    1:1:java.util.Set lambda$processAnnotation$28(com.android.tools.r8.graph.DexType):1655:1655 -> lambda$processAnnotation$28
-    1:1:void lambda$processNewlyInstantiatedClass$31(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):1906:1906 -> lambda$processNewlyInstantiatedClass$31
-    1:1:boolean lambda$registerDeferredActionForDeadProtoBuilder$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.Action):1003:1003 -> lambda$registerDeferredActionForDeadProtoBuilder$6
-    1:1:java.lang.Boolean lambda$registerDeferredActionForDeadProtoBuilder$7(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Action,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):1002:1002 -> lambda$registerDeferredActionForDeadProtoBuilder$7
-    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$registerMethodWithTargetAndContext$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):727:727 -> lambda$registerMethodWithTargetAndContext$2
-    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$registerMethodWithTargetAndContext$3(com.android.tools.r8.graph.DexMethod):728:728 -> lambda$registerMethodWithTargetAndContext$3
-    1:1:java.util.Set lambda$trace$53(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):3165:3165 -> lambda$trace$53
-    1:1:void lambda$trace$54(com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3197:3197 -> lambda$trace$54
-    1:1:void lambda$traceApplication$48(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2626:2626 -> lambda$traceApplication$48
-    1:1:java.util.Map lambda$traceCallSite$4(com.android.tools.r8.graph.DexEncodedMethod):811:811 -> lambda$traceCallSite$4
-    1:1:void lambda$traceInvokeDirect$5(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):986:986 -> lambda$traceInvokeDirect$5
-    1:1:void lambda$traceInvokeDirect$8(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1023:1023 -> lambda$traceInvokeDirect$8
-    1:1:void lambda$traceInvokeInterface$9(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1045:1045 -> lambda$traceInvokeInterface$9
-    1:1:void lambda$traceInvokeStatic$10(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1086:1086 -> lambda$traceInvokeStatic$10
-    1:1:void lambda$traceInvokeSuper$11(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1101:1101 -> lambda$traceInvokeSuper$11
-    1:1:void lambda$traceInvokeVirtual$12(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1132:1132 -> lambda$traceInvokeVirtual$12
-    1:1:void lambda$traceNewInstance$13(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1139:1139 -> lambda$traceNewInstance$13
-    1:1:java.lang.Boolean lambda$traceStaticFieldRead$14(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1317:1317 -> lambda$traceStaticFieldRead$14
-    1:1:java.lang.Boolean lambda$traceStaticFieldWrite$15(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1376:1376 -> lambda$traceStaticFieldWrite$15
-    1:1:void lambda$transitionFieldsForInstantiatedClass$34(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.ProgramField):2175:2175 -> lambda$transitionFieldsForInstantiatedClass$34
-    1:5:void lambda$verifyMissingTypes$52(com.android.tools.r8.graph.DexType):2976:2976 -> lambda$verifyMissingTypes$52
-    1:1:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> markClassAsInstantiatedWithCompatRule
-    1:1:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):3508 -> markClassAsInstantiatedWithCompatRule
-    2:11:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):3509:3518 -> markClassAsInstantiatedWithCompatRule
-    12:12:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):3516:3516 -> markClassAsInstantiatedWithCompatRule
-    1:3:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3500:3502 -> markClassAsInstantiatedWithReason
-    4:4:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():568:568 -> markClassAsInstantiatedWithReason
-    4:4:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3502 -> markClassAsInstantiatedWithReason
-    5:5:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3502:3502 -> markClassAsInstantiatedWithReason
-    1:1:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):1721:1721 -> markDirectAndIndirectClassInitializersAsLive
+    1:1:void lambda$markStaticFieldAsLive$38(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2286 -> lambda$markStaticFieldAsLive$38
+    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$markSuperMethodAsReachable$48(com.android.tools.r8.graph.DexEncodedMethod):2603:2603 -> lambda$markSuperMethodAsReachable$48
+    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$17(com.android.tools.r8.graph.DexType):1479:1479 -> lambda$markTypeAsLive$17
+    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$18(com.android.tools.r8.graph.DexType):1498:1498 -> lambda$markTypeAsLive$18
+    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$19(com.android.tools.r8.graph.DexType):1505:1505 -> lambda$markTypeAsLive$19
+    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$20(com.android.tools.r8.graph.DexType):1543:1543 -> lambda$markTypeAsLive$20
+    1:1:boolean lambda$markTypeAsLive$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):1579:1579 -> lambda$markTypeAsLive$21
+    1:1:void lambda$markTypeAsLive$22(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):1580:1580 -> lambda$markTypeAsLive$22
+    1:1:void lambda$markTypeAsLive$23(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):1590:1590 -> lambda$markTypeAsLive$23
+    1:1:java.util.Set lambda$markVirtualMethodAsReachable$42(com.android.tools.r8.graph.DexProgramClass):2490:2490 -> lambda$markVirtualMethodAsReachable$42
+    1:1:void lambda$markVirtualMethodAsReachable$43(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):2497:2497 -> lambda$markVirtualMethodAsReachable$43
+    1:1:boolean lambda$markVirtualMethodAsReachable$44(com.android.tools.r8.graph.DexReference):2499:2499 -> lambda$markVirtualMethodAsReachable$44
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markVirtualMethodAsReachable$45(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):2505:2505 -> lambda$markVirtualMethodAsReachable$45
+    1:1:void lambda$markVirtualMethodAsReachable$46(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.LookupTarget):2502:2502 -> lambda$markVirtualMethodAsReachable$46
+    1:1:void lambda$new$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):374:374 -> lambda$new$0
+    1:1:java.util.Set lambda$processAnnotation$28(com.android.tools.r8.graph.DexType):1690:1690 -> lambda$processAnnotation$28
+    1:1:void lambda$processNewlyInstantiatedClass$31(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):1941:1941 -> lambda$processNewlyInstantiatedClass$31
+    1:1:boolean lambda$registerDeferredActionForDeadProtoBuilder$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.Action):1038:1038 -> lambda$registerDeferredActionForDeadProtoBuilder$6
+    1:1:java.lang.Boolean lambda$registerDeferredActionForDeadProtoBuilder$7(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Action,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):1037:1037 -> lambda$registerDeferredActionForDeadProtoBuilder$7
+    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$registerMethodWithTargetAndContext$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):762:762 -> lambda$registerMethodWithTargetAndContext$2
+    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$registerMethodWithTargetAndContext$3(com.android.tools.r8.graph.DexMethod):763:763 -> lambda$registerMethodWithTargetAndContext$3
+    1:1:java.util.Set lambda$trace$60(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):3211:3211 -> lambda$trace$60
+    1:1:void lambda$trace$61(com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3243:3243 -> lambda$trace$61
+    1:1:void lambda$traceApplication$49(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2662:2662 -> lambda$traceApplication$49
+    1:1:java.util.Map lambda$traceCallSite$4(com.android.tools.r8.graph.DexEncodedMethod):846:846 -> lambda$traceCallSite$4
+    1:1:void lambda$traceInvokeDirect$5(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1021:1021 -> lambda$traceInvokeDirect$5
+    1:1:void lambda$traceInvokeDirect$8(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1058:1058 -> lambda$traceInvokeDirect$8
+    1:1:void lambda$traceInvokeInterface$9(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1080:1080 -> lambda$traceInvokeInterface$9
+    1:1:void lambda$traceInvokeStatic$10(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1121:1121 -> lambda$traceInvokeStatic$10
+    1:1:void lambda$traceInvokeSuper$11(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1136:1136 -> lambda$traceInvokeSuper$11
+    1:1:void lambda$traceInvokeVirtual$12(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1167:1167 -> lambda$traceInvokeVirtual$12
+    1:1:void lambda$traceNewInstance$13(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1174:1174 -> lambda$traceNewInstance$13
+    1:1:java.lang.Boolean lambda$traceStaticFieldRead$14(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1352:1352 -> lambda$traceStaticFieldRead$14
+    1:1:java.lang.Boolean lambda$traceStaticFieldWrite$15(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1411:1411 -> lambda$traceStaticFieldWrite$15
+    1:1:void lambda$transitionFieldsForInstantiatedClass$34(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.ProgramField):2210:2210 -> lambda$transitionFieldsForInstantiatedClass$34
+    1:5:void lambda$verifyMissingTypes$59(com.android.tools.r8.graph.DexType):3022:3022 -> lambda$verifyMissingTypes$59
+    1:1:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> markClassAsInstantiatedWithCompatRule
+    1:1:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):3555 -> markClassAsInstantiatedWithCompatRule
+    2:11:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):3556:3565 -> markClassAsInstantiatedWithCompatRule
+    12:12:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):3563:3563 -> markClassAsInstantiatedWithCompatRule
+    1:3:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3547:3549 -> markClassAsInstantiatedWithReason
+    4:4:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():575:575 -> markClassAsInstantiatedWithReason
+    4:4:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3549 -> markClassAsInstantiatedWithReason
+    5:5:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3549:3549 -> markClassAsInstantiatedWithReason
+    1:1:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):1756:1756 -> markDirectAndIndirectClassInitializersAsLive
     2:3:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):16:17 -> markDirectAndIndirectClassInitializersAsLive
-    2:3:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):1722 -> markDirectAndIndirectClassInitializersAsLive
-    4:16:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):1723:1735 -> markDirectAndIndirectClassInitializersAsLive
-    1:7:boolean markDirectClassInitializerAsLive(com.android.tools.r8.graph.DexProgramClass):1743:1749 -> markDirectClassInitializerAsLive
-    1:9:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2271:2279 -> markDirectStaticOrConstructorMethodAsLive
+    2:3:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):1757 -> markDirectAndIndirectClassInitializersAsLive
+    4:16:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):1758:1770 -> markDirectAndIndirectClassInitializersAsLive
+    1:7:boolean markDirectClassInitializerAsLive(com.android.tools.r8.graph.DexProgramClass):1778:1784 -> markDirectClassInitializerAsLive
+    1:9:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2306:2314 -> markDirectStaticOrConstructorMethodAsLive
     10:10:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markDirectStaticOrConstructorMethodAsLive
-    10:10:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2279 -> markDirectStaticOrConstructorMethodAsLive
-    1:7:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2526:2532 -> markEnumValuesAsReachable
-    1:2:void markFailedResolutionTargets(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ResolutionResult$FailedResolutionResult,com.android.tools.r8.shaking.KeepReason):2502:2503 -> markFailedResolutionTargets
-    1:1:void markFieldAsKept(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):3376:3376 -> markFieldAsKept
+    10:10:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2314 -> markDirectStaticOrConstructorMethodAsLive
+    1:7:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2561:2567 -> markEnumValuesAsReachable
+    1:2:void markFailedResolutionTargets(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ResolutionResult$FailedResolutionResult,com.android.tools.r8.shaking.KeepReason):2537:2538 -> markFailedResolutionTargets
+    1:1:void markFieldAsKept(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):3423:3423 -> markFieldAsKept
     2:2:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> markFieldAsKept
-    2:2:void markFieldAsKept(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):3376 -> markFieldAsKept
-    3:5:void markFieldAsKept(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):3377:3379 -> markFieldAsKept
-    1:2:void markFieldAsTargeted(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):2219:2220 -> markFieldAsTargeted
-    1:4:void markInstanceFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2255:2258 -> markInstanceFieldAsLive
+    2:2:void markFieldAsKept(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):3423 -> markFieldAsKept
+    3:5:void markFieldAsKept(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):3424:3426 -> markFieldAsKept
+    1:2:void markFieldAsTargeted(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):2254:2255 -> markFieldAsTargeted
+    1:4:void markInstanceFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2290:2293 -> markInstanceFieldAsLive
     5:5:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markInstanceFieldAsLive
-    5:5:void markInstanceFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2258 -> markInstanceFieldAsLive
-    6:13:void markInstanceFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2260:2267 -> markInstanceFieldAsLive
-    1:2:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2363:2364 -> markInstanceFieldAsReachable
+    5:5:void markInstanceFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2293 -> markInstanceFieldAsLive
+    6:13:void markInstanceFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2295:2302 -> markInstanceFieldAsLive
+    1:2:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2398:2399 -> markInstanceFieldAsReachable
     3:3:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markInstanceFieldAsReachable
-    3:3:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2364 -> markInstanceFieldAsReachable
-    4:4:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2368:2368 -> markInstanceFieldAsReachable
-    5:8:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2367:2370 -> markInstanceFieldAsReachable
-    9:16:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2369:2376 -> markInstanceFieldAsReachable
+    3:3:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2399 -> markInstanceFieldAsReachable
+    4:4:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2403:2403 -> markInstanceFieldAsReachable
+    5:8:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2402:2405 -> markInstanceFieldAsReachable
+    9:16:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2404:2411 -> markInstanceFieldAsReachable
     17:17:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> markInstanceFieldAsReachable
-    17:17:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2376 -> markInstanceFieldAsReachable
-    18:20:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2377:2379 -> markInstanceFieldAsReachable
+    17:17:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2411 -> markInstanceFieldAsReachable
+    18:20:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2412:2414 -> markInstanceFieldAsReachable
     21:113:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):0:92 -> markInstanceFieldAsReachable
-    21:113:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2378 -> markInstanceFieldAsReachable
-    114:119:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2380:2385 -> markInstanceFieldAsReachable
-    1:2:boolean markInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1934:1935 -> markInstantiatedClass
-    1:1:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1940:1940 -> markInterfaceAsInstantiated
-    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> markInterfaceAsInstantiated
-    2:2:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1940 -> markInterfaceAsInstantiated
-    3:9:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1940:1946 -> markInterfaceAsInstantiated
-    1:31:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1577:1607 -> markInterfaceTypeAsLiveViaInheritanceClause
-    32:32:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1583:1583 -> markInterfaceTypeAsLiveViaInheritanceClause
-    1:3:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):1951:1953 -> markLambdaAsInstantiated
-    1:13:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2088:2100 -> markLibraryAndClasspathMethodOverridesAsLive
-    14:26:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2099:2111 -> markLibraryAndClasspathMethodOverridesAsLive
-    27:33:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2110:2116 -> markLibraryAndClasspathMethodOverridesAsLive
-    34:34:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2113:2113 -> markLibraryAndClasspathMethodOverridesAsLive
-    1:16:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ResolutionResult):2125:2140 -> markLibraryOrClasspathOverrideLive
-    17:17:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ResolutionResult):2139:2139 -> markLibraryOrClasspathOverrideLive
-    1:5:void markLiveOverrides(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):2064:2068 -> markLiveOverrides
-    6:6:void markLiveOverrides(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):2067:2067 -> markLiveOverrides
-    7:18:void markLiveOverrides(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):2065:2076 -> markLiveOverrides
+    21:113:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2413 -> markInstanceFieldAsReachable
+    114:119:void markInstanceFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2415:2420 -> markInstanceFieldAsReachable
+    1:2:boolean markInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1969:1970 -> markInstantiatedClass
+    1:1:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1975:1975 -> markInterfaceAsInstantiated
+    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> markInterfaceAsInstantiated
+    2:2:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1975 -> markInterfaceAsInstantiated
+    3:9:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1975:1981 -> markInterfaceAsInstantiated
+    1:31:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1612:1642 -> markInterfaceTypeAsLiveViaInheritanceClause
+    32:32:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1618:1618 -> markInterfaceTypeAsLiveViaInheritanceClause
+    1:3:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):1986:1988 -> markLambdaAsInstantiated
+    1:13:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2123:2135 -> markLibraryAndClasspathMethodOverridesAsLive
+    14:26:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2134:2146 -> markLibraryAndClasspathMethodOverridesAsLive
+    27:33:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2145:2151 -> markLibraryAndClasspathMethodOverridesAsLive
+    34:34:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2148:2148 -> markLibraryAndClasspathMethodOverridesAsLive
+    1:16:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ResolutionResult):2160:2175 -> markLibraryOrClasspathOverrideLive
+    17:17:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ResolutionResult):2174:2174 -> markLibraryOrClasspathOverrideLive
+    1:5:void markLiveOverrides(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):2099:2103 -> markLiveOverrides
+    6:6:void markLiveOverrides(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):2102:2102 -> markLiveOverrides
+    7:18:void markLiveOverrides(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):2100:2111 -> markLiveOverrides
     19:21:com.android.tools.r8.graph.LookupTarget com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult.lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy):523:525 -> markLiveOverrides
-    19:21:void markLiveOverrides(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):2076 -> markLiveOverrides
-    22:22:void markLiveOverrides(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):2078:2078 -> markLiveOverrides
-    1:24:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3341:3364 -> markMethodAsKept
-    25:33:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3362:3370 -> markMethodAsKept
-    1:14:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3451:3464 -> markMethodAsLive
+    19:21:void markLiveOverrides(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):2111 -> markLiveOverrides
+    22:22:void markLiveOverrides(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):2113:2113 -> markLiveOverrides
+    1:24:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3388:3411 -> markMethodAsKept
+    25:33:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3409:3417 -> markMethodAsKept
+    1:14:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3498:3511 -> markMethodAsLive
     15:15:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markMethodAsLive
-    15:15:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3464 -> markMethodAsLive
-    16:30:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3466:3480 -> markMethodAsLive
-    1:1:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):3524:3524 -> markMethodAsLiveWithCompatRule
-    1:13:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1866:1878 -> markMethodAsTargeted
+    15:15:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3511 -> markMethodAsLive
+    16:30:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3513:3527 -> markMethodAsLive
+    1:1:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):3571:3571 -> markMethodAsLiveWithCompatRule
+    1:13:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1901:1913 -> markMethodAsTargeted
     14:14:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markMethodAsTargeted
-    14:14:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1878 -> markMethodAsTargeted
-    15:19:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1880:1884 -> markMethodAsTargeted
-    1:1:void markNonStaticDirectMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepReason):1756:1756 -> markNonStaticDirectMethodAsReachable
-    1:16:void markOverridesAsLibraryMethodOverrides(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):2146:2161 -> markOverridesAsLibraryMethodOverrides
-    17:21:void com.android.tools.r8.graph.DexClass.forEachImmediateSupertype(java.util.function.Consumer):654:658 -> markOverridesAsLibraryMethodOverrides
-    17:21:void markOverridesAsLibraryMethodOverrides(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):2161 -> markOverridesAsLibraryMethodOverrides
-    1:6:void markParameterAndReturnTypesAsLive(com.android.tools.r8.graph.ProgramMethod):3490:3495 -> markParameterAndReturnTypesAsLive
-    7:7:void markParameterAndReturnTypesAsLive(com.android.tools.r8.graph.ProgramMethod):3494:3494 -> markParameterAndReturnTypesAsLive
-    1:10:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,java.util.Set):2042:2051 -> markProgramMethodOverridesAsLive
-    11:11:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,java.util.Set):2050:2050 -> markProgramMethodOverridesAsLive
-    1:1:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):3485:3485 -> markReferencedTypesAsLive
-    2:4:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):3484:3486 -> markReferencedTypesAsLive
-    1:1:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2226:2226 -> markStaticFieldAsLive
-    2:5:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2225:2228 -> markStaticFieldAsLive
-    6:14:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2227:2235 -> markStaticFieldAsLive
+    14:14:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1913 -> markMethodAsTargeted
+    15:19:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1915:1919 -> markMethodAsTargeted
+    1:1:void markNonStaticDirectMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepReason):1791:1791 -> markNonStaticDirectMethodAsReachable
+    1:16:void markOverridesAsLibraryMethodOverrides(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):2181:2196 -> markOverridesAsLibraryMethodOverrides
+    17:21:void com.android.tools.r8.graph.DexClass.forEachImmediateSupertype(java.util.function.Consumer):661:665 -> markOverridesAsLibraryMethodOverrides
+    17:21:void markOverridesAsLibraryMethodOverrides(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):2196 -> markOverridesAsLibraryMethodOverrides
+    1:6:void markParameterAndReturnTypesAsLive(com.android.tools.r8.graph.ProgramMethod):3537:3542 -> markParameterAndReturnTypesAsLive
+    7:7:void markParameterAndReturnTypesAsLive(com.android.tools.r8.graph.ProgramMethod):3541:3541 -> markParameterAndReturnTypesAsLive
+    1:10:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,java.util.Set):2077:2086 -> markProgramMethodOverridesAsLive
+    11:11:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,java.util.Set):2085:2085 -> markProgramMethodOverridesAsLive
+    1:1:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):3532:3532 -> markReferencedTypesAsLive
+    2:4:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):3531:3533 -> markReferencedTypesAsLive
+    1:1:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2261:2261 -> markStaticFieldAsLive
+    2:5:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2260:2263 -> markStaticFieldAsLive
+    6:14:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2262:2270 -> markStaticFieldAsLive
     15:15:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> markStaticFieldAsLive
-    15:15:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2235 -> markStaticFieldAsLive
-    16:17:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2236:2237 -> markStaticFieldAsLive
+    15:15:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2270 -> markStaticFieldAsLive
+    16:17:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2271:2272 -> markStaticFieldAsLive
     18:18:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markStaticFieldAsLive
-    18:18:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2237 -> markStaticFieldAsLive
-    19:20:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2240:2241 -> markStaticFieldAsLive
+    18:18:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2272 -> markStaticFieldAsLive
+    19:20:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2275:2276 -> markStaticFieldAsLive
     21:21:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markStaticFieldAsLive
-    21:21:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2241 -> markStaticFieldAsLive
-    22:29:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2244:2251 -> markStaticFieldAsLive
-    1:10:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):2538:2547 -> markSuperMethodAsReachable
-    11:31:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):2545:2565 -> markSuperMethodAsReachable
+    21:21:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2276 -> markStaticFieldAsLive
+    22:29:void markStaticFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):2279:2286 -> markStaticFieldAsLive
+    1:10:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):2573:2582 -> markSuperMethodAsReachable
+    11:31:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):2580:2600 -> markSuperMethodAsReachable
     32:32:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markSuperMethodAsReachable
-    32:32:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):2565 -> markSuperMethodAsReachable
-    33:39:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):2567:2573 -> markSuperMethodAsReachable
-    1:16:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepReason):1430:1445 -> markTypeAsLive
-    17:17:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepReason):1442:1442 -> markTypeAsLive
-    18:33:void markTypeAsLive(com.android.tools.r8.graph.DexType,java.util.function.Function):1449:1464 -> markTypeAsLive
-    34:34:void markTypeAsLive(com.android.tools.r8.graph.DexType,java.util.function.Function):1461:1461 -> markTypeAsLive
-    35:38:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1468:1468 -> markTypeAsLive
-    39:59:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1476:1496 -> markTypeAsLive
+    32:32:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):2600 -> markSuperMethodAsReachable
+    33:39:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):2602:2608 -> markSuperMethodAsReachable
+    1:16:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepReason):1465:1480 -> markTypeAsLive
+    17:17:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepReason):1477:1477 -> markTypeAsLive
+    18:33:void markTypeAsLive(com.android.tools.r8.graph.DexType,java.util.function.Function):1484:1499 -> markTypeAsLive
+    34:34:void markTypeAsLive(com.android.tools.r8.graph.DexType,java.util.function.Function):1496:1496 -> markTypeAsLive
+    35:38:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1503:1503 -> markTypeAsLive
+    39:59:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1511:1531 -> markTypeAsLive
     60:60:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markTypeAsLive
-    60:60:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1496 -> markTypeAsLive
-    61:100:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1499:1538 -> markTypeAsLive
-    101:101:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> markTypeAsLive
-    101:101:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1541 -> markTypeAsLive
-    102:113:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1542:1553 -> markTypeAsLive
-    114:117:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1552:1555 -> markTypeAsLive
-    1:5:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget,java.util.function.Function):2476:2480 -> markVirtualDispatchTargetAsLive
-    6:8:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.DexClassAndMethod,java.util.function.Function):2486:2488 -> markVirtualDispatchTargetAsLive
-    9:11:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupLambdaTarget,java.util.function.Function):2494:2496 -> markVirtualDispatchTargetAsLive
-    1:5:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2284:2288 -> markVirtualMethodAsLive
-    6:11:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2286:2291 -> markVirtualMethodAsLive
+    60:60:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1531 -> markTypeAsLive
+    61:100:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1534:1573 -> markTypeAsLive
+    101:101:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> markTypeAsLive
+    101:101:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1576 -> markTypeAsLive
+    102:113:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1577:1588 -> markTypeAsLive
+    114:117:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1587:1590 -> markTypeAsLive
+    1:5:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget,java.util.function.Function):2511:2515 -> markVirtualDispatchTargetAsLive
+    6:8:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.DexClassAndMethod,java.util.function.Function):2521:2523 -> markVirtualDispatchTargetAsLive
+    9:11:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupLambdaTarget,java.util.function.Function):2529:2531 -> markVirtualDispatchTargetAsLive
+    1:5:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2319:2323 -> markVirtualMethodAsLive
+    6:11:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2321:2326 -> markVirtualMethodAsLive
     12:12:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markVirtualMethodAsLive
-    12:12:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2291 -> markVirtualMethodAsLive
-    1:41:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2391:2431 -> markVirtualMethodAsReachable
+    12:12:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2326 -> markVirtualMethodAsLive
+    1:41:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2426:2466 -> markVirtualMethodAsReachable
     42:42:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markVirtualMethodAsReachable
-    42:42:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2431 -> markVirtualMethodAsReachable
-    43:72:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2436:2465 -> markVirtualMethodAsReachable
-    1:1:com.android.tools.r8.shaking.Enqueuer$SetWithReason newSetWithoutReasonReporter():618:618 -> newSetWithoutReasonReporter
-    1:3:void processAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation):1644:1644 -> processAnnotation
-    5:8:void processAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation):1646:1649 -> processAnnotation
-    9:9:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> processAnnotation
-    9:9:void processAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation):1649 -> processAnnotation
-    10:23:void processAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation):1650:1663 -> processAnnotation
-    1:1:void processAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition):1627:1627 -> processAnnotations
-    2:2:void processAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotationSet):1632:1632 -> processAnnotations
-    3:4:void processAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation[]):1637:1638 -> processAnnotations
-    1:18:void processNewLiveNonProgramType(com.android.tools.r8.graph.DexClass,java.util.Deque):564:581 -> processNewLiveNonProgramType
-    1:1:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1899:1899 -> processNewlyInstantiatedClass
-    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> processNewlyInstantiatedClass
-    2:2:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1899 -> processNewlyInstantiatedClass
-    3:17:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1899:1913 -> processNewlyInstantiatedClass
+    42:42:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2466 -> markVirtualMethodAsReachable
+    43:72:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2471:2500 -> markVirtualMethodAsReachable
+    1:3:void processAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation):1679:1679 -> processAnnotation
+    5:8:void processAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation):1681:1684 -> processAnnotation
+    9:9:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> processAnnotation
+    9:9:void processAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation):1684 -> processAnnotation
+    10:23:void processAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation):1685:1698 -> processAnnotation
+    1:1:void processAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition):1662:1662 -> processAnnotations
+    2:2:void processAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotationSet):1667:1667 -> processAnnotations
+    3:4:void processAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexAnnotation[]):1672:1673 -> processAnnotations
+    1:18:void processNewLiveNonProgramType(com.android.tools.r8.graph.DexClass,java.util.Deque):546:563 -> processNewLiveNonProgramType
+    1:1:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1934:1934 -> processNewlyInstantiatedClass
+    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> processNewlyInstantiatedClass
+    2:2:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1934 -> processNewlyInstantiatedClass
+    3:17:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1934:1948 -> processNewlyInstantiatedClass
     18:18:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> processNewlyInstantiatedClass
-    18:18:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1913 -> processNewlyInstantiatedClass
-    19:28:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1916:1925 -> processNewlyInstantiatedClass
-    1:2:void recordFieldReference(com.android.tools.r8.graph.DexField):506:507 -> recordFieldReference
-    1:4:void recordMethodReference(com.android.tools.r8.graph.DexMethod):498:501 -> recordMethodReference
-    1:7:void recordReference(com.android.tools.r8.graph.DexReference):473:479 -> recordReference
-    1:8:void recordTypeReference(com.android.tools.r8.graph.DexType):487:494 -> recordTypeReference
-    1:1:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):431:431 -> registerAnalysis
-    1:7:boolean registerDeferredActionForDeadProtoBuilder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Action):998:1004 -> registerDeferredActionForDeadProtoBuilder
-    8:8:boolean registerDeferredActionForDeadProtoBuilder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Action):1000:1000 -> registerDeferredActionForDeadProtoBuilder
-    1:32:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,boolean):757:788 -> registerFieldAccess
-    1:1:boolean registerFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):734:734 -> registerFieldRead
-    1:1:boolean registerFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):742:742 -> registerFieldWrite
-    1:1:com.android.tools.r8.shaking.Enqueuer registerInvokeAnalysis(com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):436:436 -> registerInvokeAnalysis
-    1:4:boolean registerMethodWithTargetAndContext(java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):725:728 -> registerMethodWithTargetAndContext
-    1:2:boolean registerReflectiveFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):750:751 -> registerReflectiveFieldAccess
-    1:1:boolean registerReflectiveFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):738:738 -> registerReflectiveFieldRead
-    1:1:boolean registerReflectiveFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):746:746 -> registerReflectiveFieldWrite
-    1:5:void reportMissingClass(com.android.tools.r8.graph.DexType):1842:1842 -> reportMissingClass
-    9:12:void reportMissingClass(com.android.tools.r8.graph.DexType):1846:1849 -> reportMissingClass
+    18:18:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1948 -> processNewlyInstantiatedClass
+    19:28:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1951:1960 -> processNewlyInstantiatedClass
+    1:2:void recordFieldReference(com.android.tools.r8.graph.DexField):503:504 -> recordFieldReference
+    1:4:void recordMethodReference(com.android.tools.r8.graph.DexMethod):495:498 -> recordMethodReference
+    1:7:void recordReference(com.android.tools.r8.graph.DexReference):470:476 -> recordReference
+    1:8:void recordTypeReference(com.android.tools.r8.graph.DexType):484:491 -> recordTypeReference
+    1:1:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):428:428 -> registerAnalysis
+    1:7:boolean registerDeferredActionForDeadProtoBuilder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Action):1033:1039 -> registerDeferredActionForDeadProtoBuilder
+    8:8:boolean registerDeferredActionForDeadProtoBuilder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Action):1035:1035 -> registerDeferredActionForDeadProtoBuilder
+    1:32:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,boolean):792:823 -> registerFieldAccess
+    1:1:boolean registerFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):769:769 -> registerFieldRead
+    1:1:boolean registerFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):777:777 -> registerFieldWrite
+    1:1:com.android.tools.r8.shaking.Enqueuer registerInvokeAnalysis(com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):433:433 -> registerInvokeAnalysis
+    1:4:boolean registerMethodWithTargetAndContext(java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):760:763 -> registerMethodWithTargetAndContext
+    1:2:boolean registerReflectiveFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):785:786 -> registerReflectiveFieldAccess
+    1:1:boolean registerReflectiveFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):773:773 -> registerReflectiveFieldRead
+    1:1:boolean registerReflectiveFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):781:781 -> registerReflectiveFieldWrite
+    1:5:void reportMissingClass(com.android.tools.r8.graph.DexType):1877:1877 -> reportMissingClass
+    9:12:void reportMissingClass(com.android.tools.r8.graph.DexType):1881:1884 -> reportMissingClass
     13:13:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> reportMissingClass
-    13:13:void reportMissingClass(com.android.tools.r8.graph.DexType):1849 -> reportMissingClass
-    1:2:void reportMissingField(com.android.tools.r8.graph.DexField):1860:1861 -> reportMissingField
+    13:13:void reportMissingClass(com.android.tools.r8.graph.DexType):1884 -> reportMissingClass
+    1:2:void reportMissingField(com.android.tools.r8.graph.DexField):1895:1896 -> reportMissingField
     3:3:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> reportMissingField
-    3:3:void reportMissingField(com.android.tools.r8.graph.DexField):1861 -> reportMissingField
-    1:2:void reportMissingMethod(com.android.tools.r8.graph.DexMethod):1854:1855 -> reportMissingMethod
+    3:3:void reportMissingField(com.android.tools.r8.graph.DexField):1896 -> reportMissingField
+    1:2:void reportMissingMethod(com.android.tools.r8.graph.DexMethod):1889:1890 -> reportMissingMethod
     3:3:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> reportMissingMethod
-    3:3:void reportMissingMethod(com.android.tools.r8.graph.DexMethod):1855 -> reportMissingMethod
-    1:5:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField):1668:1672 -> resolveField
-    1:7:com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepReason):1679:1685 -> resolveMethod
-    8:14:com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepReason,boolean):1691:1697 -> resolveMethod
-    1:3:void retainAnnotationForFinalTreeShaking(com.android.tools.r8.graph.DexAnnotation):3333:3335 -> retainAnnotationForFinalTreeShaking
-    1:46:void rewriteLambdaCallSites(com.android.tools.r8.graph.DexEncodedMethod,java.util.Map):3075:3120 -> rewriteLambdaCallSites
-    1:1:void setAnnotationRemoverBuilder(com.android.tools.r8.shaking.AnnotationRemover$Builder):441:441 -> setAnnotationRemoverBuilder
-    1:2:void setInitialDeadProtoTypes(java.util.Set):445:446 -> setInitialDeadProtoTypes
-    1:2:void setInitialMissingTypes(java.util.Set):450:451 -> setInitialMissingTypes
-    1:2:void setInitialPrunedTypes(java.util.Set):455:456 -> setInitialPrunedTypes
-    1:43:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):3384:3426 -> shouldMarkLibraryMethodOverrideAsReachable
-    1:25:void synthesize():2748:2772 -> synthesize
-    1:7:void synthesizeInterfaceMethodBridges(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):2776:2782 -> synthesizeInterfaceMethodBridges
-    1:31:void synthesizeLambdas(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):2786:2816 -> synthesizeLambdas
-    32:33:void synthesizeLambdas(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):2787:2788 -> synthesizeLambdas
-    1:23:void synthesizeLibraryConversionWrappers(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3048:3070 -> synthesizeLibraryConversionWrappers
-    1:6:java.util.SortedSet toSortedDescriptorSet(java.util.Set):3125:3130 -> toSortedDescriptorSet
-    1:86:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3146:3231 -> trace
-    87:87:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3229:3229 -> trace
-    1:23:com.android.tools.r8.shaking.AppInfoWithLiveness traceApplication(com.android.tools.r8.shaking.RootSetBuilder$RootSet,com.android.tools.r8.shaking.ProguardClassFilter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):2598:2620 -> traceApplication
-    24:47:com.android.tools.r8.shaking.AppInfoWithLiveness traceApplication(com.android.tools.r8.shaking.RootSetBuilder$RootSet,com.android.tools.r8.shaking.ProguardClassFilter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):2607:2630 -> traceApplication
-    1:63:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):792:854 -> traceCallSite
-    64:64:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):851:851 -> traceCallSite
-    65:65:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):848:848 -> traceCallSite
-    66:66:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):845:845 -> traceCallSite
-    67:67:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):842:842 -> traceCallSite
-    68:68:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):839:839 -> traceCallSite
-    1:1:boolean traceCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):859:859 -> traceCheckCast
-    1:8:boolean traceConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):865:872 -> traceConstClass
-    1:10:boolean traceConstClassOrCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):876:885 -> traceConstClassOrCheckCast
-    11:11:boolean traceConstClassOrCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):884:884 -> traceConstClassOrCheckCast
-    1:12:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):893:904 -> traceInitClass
-    13:17:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):903:907 -> traceInitClass
+    3:3:void reportMissingMethod(com.android.tools.r8.graph.DexMethod):1890 -> reportMissingMethod
+    1:5:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField):1703:1707 -> resolveField
+    1:7:com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepReason):1714:1720 -> resolveMethod
+    8:14:com.android.tools.r8.graph.ResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepReason,boolean):1726:1732 -> resolveMethod
+    1:3:void retainAnnotationForFinalTreeShaking(com.android.tools.r8.graph.DexAnnotation):3380:3382 -> retainAnnotationForFinalTreeShaking
+    1:46:void rewriteLambdaCallSites(com.android.tools.r8.graph.DexEncodedMethod,java.util.Map):3121:3166 -> rewriteLambdaCallSites
+    1:1:void setAnnotationRemoverBuilder(com.android.tools.r8.shaking.AnnotationRemover$Builder):438:438 -> setAnnotationRemoverBuilder
+    1:2:void setInitialDeadProtoTypes(java.util.Set):442:443 -> setInitialDeadProtoTypes
+    1:2:void setInitialMissingTypes(java.util.Set):447:448 -> setInitialMissingTypes
+    1:2:void setInitialPrunedTypes(java.util.Set):452:453 -> setInitialPrunedTypes
+    1:43:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):3431:3473 -> shouldMarkLibraryMethodOverrideAsReachable
+    1:25:void synthesize():2794:2818 -> synthesize
+    1:7:void synthesizeInterfaceMethodBridges(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):2822:2828 -> synthesizeInterfaceMethodBridges
+    1:31:void synthesizeLambdas(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):2832:2862 -> synthesizeLambdas
+    32:33:void synthesizeLambdas(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):2833:2834 -> synthesizeLambdas
+    1:23:void synthesizeLibraryConversionWrappers(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3094:3116 -> synthesizeLibraryConversionWrappers
+    1:6:java.util.SortedSet toSortedDescriptorSet(java.util.Set):3171:3176 -> toSortedDescriptorSet
+    1:86:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3192:3277 -> trace
+    87:87:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3275:3275 -> trace
+    1:24:com.android.tools.r8.shaking.AppInfoWithLiveness traceApplication(com.android.tools.r8.shaking.RootSetBuilder$RootSet,com.android.tools.r8.shaking.ProguardClassFilter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):2633:2656 -> traceApplication
+    25:48:com.android.tools.r8.shaking.AppInfoWithLiveness traceApplication(com.android.tools.r8.shaking.RootSetBuilder$RootSet,com.android.tools.r8.shaking.ProguardClassFilter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):2643:2666 -> traceApplication
+    1:63:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):827:889 -> traceCallSite
+    64:64:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):886:886 -> traceCallSite
+    65:65:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):883:883 -> traceCallSite
+    66:66:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):880:880 -> traceCallSite
+    67:67:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):877:877 -> traceCallSite
+    68:68:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):874:874 -> traceCallSite
+    1:1:boolean traceCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):894:894 -> traceCheckCast
+    1:8:boolean traceConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):900:907 -> traceConstClass
+    1:10:boolean traceConstClassOrCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):911:920 -> traceConstClassOrCheckCast
+    11:11:boolean traceConstClassOrCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):919:919 -> traceConstClassOrCheckCast
+    1:12:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):928:939 -> traceInitClass
+    13:17:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):938:942 -> traceInitClass
     18:18:boolean com.android.tools.r8.utils.Visibility.isPublic():28:28 -> traceInitClass
-    18:18:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):911 -> traceInitClass
-    19:19:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):916:916 -> traceInitClass
+    18:18:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):946 -> traceInitClass
+    19:19:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):951:951 -> traceInitClass
     20:40:boolean com.android.tools.r8.utils.Visibility.isPrivate():0:20 -> traceInitClass
-    20:40:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):919 -> traceInitClass
-    41:41:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):919:919 -> traceInitClass
+    20:40:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):954 -> traceInitClass
+    41:41:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):954:954 -> traceInitClass
     42:42:boolean com.android.tools.r8.utils.Visibility.isPublic():0:0 -> traceInitClass
-    42:42:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):921 -> traceInitClass
-    43:43:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):922:922 -> traceInitClass
+    42:42:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):956 -> traceInitClass
+    43:43:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):957:957 -> traceInitClass
     44:44:boolean com.android.tools.r8.utils.Visibility.isProtected():24:24 -> traceInitClass
-    44:44:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):926 -> traceInitClass
-    45:45:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):931:931 -> traceInitClass
+    44:44:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):961 -> traceInitClass
+    45:45:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):966:966 -> traceInitClass
     46:46:boolean com.android.tools.r8.utils.Visibility.isPackagePrivate():16:16 -> traceInitClass
-    46:46:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):935 -> traceInitClass
-    47:47:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):935:935 -> traceInitClass
+    46:46:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):970 -> traceInitClass
+    47:47:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):970:970 -> traceInitClass
     48:48:boolean com.android.tools.r8.utils.Visibility.isPackagePrivate():16:16 -> traceInitClass
-    48:48:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):936 -> traceInitClass
-    49:49:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):936:936 -> traceInitClass
-    1:1:boolean traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1174:1174 -> traceInstanceFieldRead
-    2:26:boolean traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1183:1207 -> traceInstanceFieldRead
+    48:48:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):971 -> traceInitClass
+    49:49:boolean traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):971:971 -> traceInitClass
+    1:1:boolean traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1209:1209 -> traceInstanceFieldRead
+    2:26:boolean traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1218:1242 -> traceInstanceFieldRead
     27:27:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> traceInstanceFieldRead
-    27:27:boolean traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1207 -> traceInstanceFieldRead
-    28:32:boolean traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1212:1216 -> traceInstanceFieldRead
-    33:39:boolean traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1214:1220 -> traceInstanceFieldRead
-    1:1:boolean traceInstanceFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1178:1178 -> traceInstanceFieldReadFromMethodHandle
-    1:1:boolean traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1225:1225 -> traceInstanceFieldWrite
-    2:26:boolean traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1234:1258 -> traceInstanceFieldWrite
+    27:27:boolean traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1242 -> traceInstanceFieldRead
+    28:32:boolean traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1247:1251 -> traceInstanceFieldRead
+    33:39:boolean traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1249:1255 -> traceInstanceFieldRead
+    1:1:boolean traceInstanceFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1213:1213 -> traceInstanceFieldReadFromMethodHandle
+    1:1:boolean traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1260:1260 -> traceInstanceFieldWrite
+    2:26:boolean traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1269:1293 -> traceInstanceFieldWrite
     27:27:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> traceInstanceFieldWrite
-    27:27:boolean traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1258 -> traceInstanceFieldWrite
-    28:32:boolean traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1263:1267 -> traceInstanceFieldWrite
-    33:40:boolean traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1265:1272 -> traceInstanceFieldWrite
-    1:1:boolean traceInstanceFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1229:1229 -> traceInstanceFieldWriteFromMethodHandle
-    1:11:boolean traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):982:992 -> traceInvokeDirect
-    12:16:boolean traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1016:1020 -> traceInvokeDirect
+    27:27:boolean traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1293 -> traceInstanceFieldWrite
+    28:32:boolean traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1298:1302 -> traceInstanceFieldWrite
+    33:40:boolean traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1300:1307 -> traceInstanceFieldWrite
+    1:1:boolean traceInstanceFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1264:1264 -> traceInstanceFieldWriteFromMethodHandle
+    1:11:boolean traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1017:1027 -> traceInvokeDirect
+    12:16:boolean traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1051:1055 -> traceInvokeDirect
     17:17:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> traceInvokeDirect
-    17:17:boolean traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1020 -> traceInvokeDirect
-    18:19:boolean traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1022:1023 -> traceInvokeDirect
-    1:1:boolean traceInvokeDirectFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1011:1011 -> traceInvokeDirectFromLambda
-    2:2:boolean traceInvokeDirectFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1010:1010 -> traceInvokeDirectFromLambda
-    1:1:boolean traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1028:1028 -> traceInvokeInterface
-    2:6:boolean traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1038:1042 -> traceInvokeInterface
+    17:17:boolean traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1055 -> traceInvokeDirect
+    18:19:boolean traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1057:1058 -> traceInvokeDirect
+    1:1:boolean traceInvokeDirectFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1046:1046 -> traceInvokeDirectFromLambda
+    2:2:boolean traceInvokeDirectFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1045:1045 -> traceInvokeDirectFromLambda
+    1:1:boolean traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1063:1063 -> traceInvokeInterface
+    2:6:boolean traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1073:1077 -> traceInvokeInterface
     7:7:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> traceInvokeInterface
-    7:7:boolean traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1042 -> traceInvokeInterface
-    8:9:boolean traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1044:1045 -> traceInvokeInterface
-    1:1:boolean traceInvokeInterfaceFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1033:1033 -> traceInvokeInterfaceFromLambda
-    2:2:boolean traceInvokeInterfaceFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1032:1032 -> traceInvokeInterfaceFromLambda
-    1:1:boolean traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1050:1050 -> traceInvokeStatic
-    2:25:boolean traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1060:1083 -> traceInvokeStatic
+    7:7:boolean traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1077 -> traceInvokeInterface
+    8:9:boolean traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1079:1080 -> traceInvokeInterface
+    1:1:boolean traceInvokeInterfaceFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1068:1068 -> traceInvokeInterfaceFromLambda
+    2:2:boolean traceInvokeInterfaceFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1067:1067 -> traceInvokeInterfaceFromLambda
+    1:1:boolean traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1085:1085 -> traceInvokeStatic
+    2:25:boolean traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1095:1118 -> traceInvokeStatic
     26:26:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> traceInvokeStatic
-    26:26:boolean traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1083 -> traceInvokeStatic
-    27:28:boolean traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1085:1086 -> traceInvokeStatic
-    1:1:boolean traceInvokeStaticFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1055:1055 -> traceInvokeStaticFromLambda
-    2:2:boolean traceInvokeStaticFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1054:1054 -> traceInvokeStaticFromLambda
-    1:6:boolean traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1093:1098 -> traceInvokeSuper
+    26:26:boolean traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1118 -> traceInvokeStatic
+    27:28:boolean traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1120:1121 -> traceInvokeStatic
+    1:1:boolean traceInvokeStaticFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1090:1090 -> traceInvokeStaticFromLambda
+    2:2:boolean traceInvokeStaticFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1089:1089 -> traceInvokeStaticFromLambda
+    1:6:boolean traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1128:1133 -> traceInvokeSuper
     7:7:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> traceInvokeSuper
-    7:7:boolean traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1098 -> traceInvokeSuper
-    8:9:boolean traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1100:1101 -> traceInvokeSuper
-    1:1:boolean traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1106:1106 -> traceInvokeVirtual
-    2:9:boolean traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1116:1123 -> traceInvokeVirtual
-    10:21:boolean traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1118:1129 -> traceInvokeVirtual
+    7:7:boolean traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1133 -> traceInvokeSuper
+    8:9:boolean traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1135:1136 -> traceInvokeSuper
+    1:1:boolean traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1141:1141 -> traceInvokeVirtual
+    2:9:boolean traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1151:1158 -> traceInvokeVirtual
+    10:21:boolean traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1153:1164 -> traceInvokeVirtual
     22:22:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]) -> traceInvokeVirtual
-    22:22:boolean traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1129 -> traceInvokeVirtual
-    23:24:boolean traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1131:1132 -> traceInvokeVirtual
-    1:1:boolean traceInvokeVirtualFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1111:1111 -> traceInvokeVirtualFromLambda
-    2:2:boolean traceInvokeVirtualFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1110:1110 -> traceInvokeVirtualFromLambda
-    1:8:java.util.Set traceMainDex(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):2582:2589 -> traceMainDex
+    22:22:boolean traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1164 -> traceInvokeVirtual
+    23:24:boolean traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1166:1167 -> traceInvokeVirtual
+    1:1:boolean traceInvokeVirtualFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1146:1146 -> traceInvokeVirtualFromLambda
+    2:2:boolean traceInvokeVirtualFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1145:1145 -> traceInvokeVirtualFromLambda
+    1:8:java.util.Set traceMainDex(com.android.tools.r8.shaking.RootSetBuilder$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):2617:2624 -> traceMainDex
     1:1:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():297:297 -> traceMethodHandle
-    1:1:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):959 -> traceMethodHandle
-    2:6:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):959:963 -> traceMethodHandle
-    7:7:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> traceMethodHandle
-    7:7:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):964 -> traceMethodHandle
-    8:12:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):965:969 -> traceMethodHandle
-    1:13:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1137:1149 -> traceNewInstance
-    14:14:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1145:1145 -> traceNewInstance
-    15:15:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1162:1162 -> traceNewInstance
-    16:16:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> traceNewInstance
-    16:16:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1164 -> traceNewInstance
-    17:20:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1164:1167 -> traceNewInstance
-    21:21:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1165:1165 -> traceNewInstance
-    1:3:boolean traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1153:1153 -> traceNewInstanceFromLambda
-    1:1:boolean traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1277:1277 -> traceStaticFieldRead
-    2:25:boolean traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1286:1309 -> traceStaticFieldRead
+    1:1:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):994 -> traceMethodHandle
+    2:6:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):994:998 -> traceMethodHandle
+    7:7:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> traceMethodHandle
+    7:7:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):999 -> traceMethodHandle
+    8:12:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1000:1004 -> traceMethodHandle
+    1:13:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1172:1184 -> traceNewInstance
+    14:14:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1180:1180 -> traceNewInstance
+    15:15:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1197:1197 -> traceNewInstance
+    16:16:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> traceNewInstance
+    16:16:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1199 -> traceNewInstance
+    17:20:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1199:1202 -> traceNewInstance
+    21:21:boolean traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1200:1200 -> traceNewInstance
+    1:3:boolean traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1188:1188 -> traceNewInstanceFromLambda
+    1:1:boolean traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1312:1312 -> traceStaticFieldRead
+    2:25:boolean traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1321:1344 -> traceStaticFieldRead
     26:26:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> traceStaticFieldRead
-    26:26:boolean traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1309 -> traceStaticFieldRead
-    27:33:boolean traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1312:1318 -> traceStaticFieldRead
-    34:50:boolean traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1315:1331 -> traceStaticFieldRead
-    1:1:boolean traceStaticFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1281:1281 -> traceStaticFieldReadFromMethodHandle
-    1:1:boolean traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1336:1336 -> traceStaticFieldWrite
-    2:25:boolean traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1345:1368 -> traceStaticFieldWrite
+    26:26:boolean traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1344 -> traceStaticFieldRead
+    27:33:boolean traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1347:1353 -> traceStaticFieldRead
+    34:50:boolean traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1350:1366 -> traceStaticFieldRead
+    1:1:boolean traceStaticFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1316:1316 -> traceStaticFieldReadFromMethodHandle
+    1:1:boolean traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1371:1371 -> traceStaticFieldWrite
+    2:25:boolean traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1380:1403 -> traceStaticFieldWrite
     26:26:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> traceStaticFieldWrite
-    26:26:boolean traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1368 -> traceStaticFieldWrite
-    27:33:boolean traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1371:1377 -> traceStaticFieldWrite
-    34:50:boolean traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1374:1390 -> traceStaticFieldWrite
-    1:1:boolean traceStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1340:1340 -> traceStaticFieldWriteFromMethodHandle
-    1:1:boolean traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):977:977 -> traceTypeReference
-    1:1:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2182:2182 -> transitionDependentItemsForInstantiatedClass
-    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> transitionDependentItemsForInstantiatedClass
-    2:2:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2182 -> transitionDependentItemsForInstantiatedClass
-    3:5:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2182:2184 -> transitionDependentItemsForInstantiatedClass
-    1:2:void transitionDependentItemsForInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):2188:2189 -> transitionDependentItemsForInstantiatedInterface
-    1:6:void transitionDependentItemsForInstantiatedItem(com.android.tools.r8.graph.DexProgramClass):2195:2200 -> transitionDependentItemsForInstantiatedItem
-    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> transitionDependentItemsForInstantiatedItem
-    7:7:void transitionDependentItemsForInstantiatedItem(com.android.tools.r8.graph.DexProgramClass):2200 -> transitionDependentItemsForInstantiatedItem
-    8:10:void transitionDependentItemsForInstantiatedItem(com.android.tools.r8.graph.DexProgramClass):2200:2202 -> transitionDependentItemsForInstantiatedItem
-    1:8:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2171:2178 -> transitionFieldsForInstantiatedClass
-    1:1:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):1985:1985 -> transitionMethodsForInstantiatedClass
-    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> transitionMethodsForInstantiatedClass
-    2:2:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):1985 -> transitionMethodsForInstantiatedClass
-    3:6:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):1985:1988 -> transitionMethodsForInstantiatedClass
-    7:7:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):1987:1987 -> transitionMethodsForInstantiatedClass
-    1:2:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):1979:1980 -> transitionMethodsForInstantiatedLambda
-    3:3:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):1978:1978 -> transitionMethodsForInstantiatedLambda
-    1:31:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,java.util.List):2000:2030 -> transitionMethodsForInstantiatedObject
-    1:9:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2206:2214 -> transitionUnusedInterfaceToLive
-    1:7:void unpinLambdaMethods():3323:3329 -> unpinLambdaMethods
-    1:3:boolean verifyKeptGraph():2830:2832 -> verifyKeptGraph
-    1:3:boolean verifyMethodIsTargeted(com.android.tools.r8.graph.ProgramMethod):1418:1420 -> verifyMethodIsTargeted
-    1:5:boolean verifyMissingTypes():2970:2974 -> verifyMissingTypes
-    1:3:boolean verifyReferencedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3040:3042 -> verifyReferencedMethod
-    1:15:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):2999:3013 -> verifyReferencedType
-    16:28:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3020:3032 -> verifyReferencedType
-    1:7:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):2986:2992 -> verifyReferences
-    1:1:boolean verifyTypeIsLive(com.android.tools.r8.graph.DexProgramClass):1425:1425 -> verifyTypeIsLive
-    1:5:void warnIfLibraryTypeInheritsFromProgramType(com.android.tools.r8.graph.DexLibraryClass):609:613 -> warnIfLibraryTypeInheritsFromProgramType
+    26:26:boolean traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1403 -> traceStaticFieldWrite
+    27:33:boolean traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1406:1412 -> traceStaticFieldWrite
+    34:50:boolean traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1409:1425 -> traceStaticFieldWrite
+    1:1:boolean traceStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1375:1375 -> traceStaticFieldWriteFromMethodHandle
+    1:1:boolean traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1012:1012 -> traceTypeReference
+    1:1:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2217:2217 -> transitionDependentItemsForInstantiatedClass
+    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> transitionDependentItemsForInstantiatedClass
+    2:2:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2217 -> transitionDependentItemsForInstantiatedClass
+    3:5:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2217:2219 -> transitionDependentItemsForInstantiatedClass
+    1:2:void transitionDependentItemsForInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):2223:2224 -> transitionDependentItemsForInstantiatedInterface
+    1:6:void transitionDependentItemsForInstantiatedItem(com.android.tools.r8.graph.DexProgramClass):2230:2235 -> transitionDependentItemsForInstantiatedItem
+    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> transitionDependentItemsForInstantiatedItem
+    7:7:void transitionDependentItemsForInstantiatedItem(com.android.tools.r8.graph.DexProgramClass):2235 -> transitionDependentItemsForInstantiatedItem
+    8:10:void transitionDependentItemsForInstantiatedItem(com.android.tools.r8.graph.DexProgramClass):2235:2237 -> transitionDependentItemsForInstantiatedItem
+    1:8:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2206:2213 -> transitionFieldsForInstantiatedClass
+    1:1:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2020:2020 -> transitionMethodsForInstantiatedClass
+    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> transitionMethodsForInstantiatedClass
+    2:2:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2020 -> transitionMethodsForInstantiatedClass
+    3:6:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2020:2023 -> transitionMethodsForInstantiatedClass
+    7:7:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2022:2022 -> transitionMethodsForInstantiatedClass
+    1:2:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2014:2015 -> transitionMethodsForInstantiatedLambda
+    3:3:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2013:2013 -> transitionMethodsForInstantiatedLambda
+    1:31:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,java.util.List):2035:2065 -> transitionMethodsForInstantiatedObject
+    1:9:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2241:2249 -> transitionUnusedInterfaceToLive
+    1:7:void unpinLambdaMethods():3370:3376 -> unpinLambdaMethods
+    1:3:boolean verifyKeptGraph():2876:2878 -> verifyKeptGraph
+    1:3:boolean verifyMethodIsTargeted(com.android.tools.r8.graph.ProgramMethod):1453:1455 -> verifyMethodIsTargeted
+    1:5:boolean verifyMissingTypes():3016:3020 -> verifyMissingTypes
+    1:3:boolean verifyReferencedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3086:3088 -> verifyReferencedMethod
+    1:15:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3045:3059 -> verifyReferencedType
+    16:28:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3066:3078 -> verifyReferencedType
+    1:7:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3032:3038 -> verifyReferences
+    1:1:boolean verifyTypeIsLive(com.android.tools.r8.graph.DexProgramClass):1460:1460 -> verifyTypeIsLive
+    1:5:void warnIfLibraryTypeInheritsFromProgramType(com.android.tools.r8.graph.DexLibraryClass):591:595 -> warnIfLibraryTypeInheritsFromProgramType
 com.android.tools.r8.shaking.Enqueuer$1 -> com.android.tools.r8.shaking.Enqueuer$1:
-    1:1:void <clinit>():837:837 -> <clinit>
+    1:1:void <clinit>():872:872 -> <clinit>
 com.android.tools.r8.shaking.Enqueuer$AnnotationReferenceMarker -> com.android.tools.r8.shaking.Enqueuer$AnnotationReferenceMarker:
-    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.shaking.Enqueuer$1):3990:3990 -> <init>
-    2:5:void <init>(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.KeepReason):3997:4000 -> <init>
-    1:2:boolean addField(com.android.tools.r8.graph.DexField):4010:4011 -> addField
-    3:3:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexProgramClass.lookupProgramField(com.android.tools.r8.graph.DexField):179:179 -> addField
-    3:3:boolean addField(com.android.tools.r8.graph.DexField):4015 -> addField
-    4:4:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexProgramClass.toProgramFieldOrNull(com.android.tools.r8.graph.DexEncodedField):188:188 -> addField
-    4:4:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexProgramClass.lookupProgramField(com.android.tools.r8.graph.DexField):179 -> addField
-    4:4:boolean addField(com.android.tools.r8.graph.DexField):4015 -> addField
-    5:8:boolean addField(com.android.tools.r8.graph.DexField):4020:4023 -> addField
+    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.shaking.Enqueuer$1):4038:4038 -> <init>
+    2:5:void <init>(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.KeepReason):4045:4048 -> <init>
+    1:2:boolean addField(com.android.tools.r8.graph.DexField):4058:4059 -> addField
+    3:3:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexProgramClass.lookupProgramField(com.android.tools.r8.graph.DexField):183:183 -> addField
+    3:3:boolean addField(com.android.tools.r8.graph.DexField):4063 -> addField
+    4:4:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexProgramClass.toProgramFieldOrNull(com.android.tools.r8.graph.DexEncodedField):192:192 -> addField
+    4:4:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexProgramClass.lookupProgramField(com.android.tools.r8.graph.DexField):183 -> addField
+    4:4:boolean addField(com.android.tools.r8.graph.DexField):4063 -> addField
+    5:8:boolean addField(com.android.tools.r8.graph.DexField):4068:4071 -> addField
     9:9:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> addField
-    9:9:boolean addField(com.android.tools.r8.graph.DexField):4023 -> addField
-    10:18:boolean addField(com.android.tools.r8.graph.DexField):4025:4033 -> addField
-    19:19:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():397:397 -> addField
-    19:19:boolean addField(com.android.tools.r8.graph.DexField):4033 -> addField
-    20:24:boolean addField(com.android.tools.r8.graph.DexField):4033:4037 -> addField
-    25:31:boolean addField(com.android.tools.r8.graph.DexField):4036:4042 -> addField
-    1:12:boolean addMethod(com.android.tools.r8.graph.DexMethod):4050:4061 -> addMethod
-    13:23:boolean addMethod(com.android.tools.r8.graph.DexMethod):4059:4069 -> addMethod
-    24:24:boolean addMethod(com.android.tools.r8.graph.DexMethod):4067:4067 -> addMethod
-    1:2:boolean addType(com.android.tools.r8.graph.DexType):4099:4100 -> addType
+    9:9:boolean addField(com.android.tools.r8.graph.DexField):4071 -> addField
+    10:18:boolean addField(com.android.tools.r8.graph.DexField):4073:4081 -> addField
+    19:19:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():393:393 -> addField
+    19:19:boolean addField(com.android.tools.r8.graph.DexField):4081 -> addField
+    20:24:boolean addField(com.android.tools.r8.graph.DexField):4081:4085 -> addField
+    25:31:boolean addField(com.android.tools.r8.graph.DexField):4084:4090 -> addField
+    1:12:boolean addMethod(com.android.tools.r8.graph.DexMethod):4098:4109 -> addMethod
+    13:23:boolean addMethod(com.android.tools.r8.graph.DexMethod):4107:4117 -> addMethod
+    24:24:boolean addMethod(com.android.tools.r8.graph.DexMethod):4115:4115 -> addMethod
+    1:2:boolean addType(com.android.tools.r8.graph.DexType):4147:4148 -> addType
     1:1:com.android.tools.r8.graph.InitClassLens com.android.tools.r8.dex.IndexedItemCollection.getInitClassLens():104:104 -> getInitClassLens
     1:1:com.android.tools.r8.graph.InitClassLens getInitClassLens():0 -> getInitClassLens
     1:1:com.android.tools.r8.graph.DexString com.android.tools.r8.dex.IndexedItemCollection.getRenamedDescriptor(com.android.tools.r8.graph.DexType):116:116 -> getRenamedDescriptor
@@ -62719,68 +62908,66 @@
     2:2:com.android.tools.r8.graph.DexString com.android.tools.r8.dex.IndexedItemCollection.getRenamedName(com.android.tools.r8.graph.DexField):112:112 -> getRenamedName
     2:2:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):0 -> getRenamedName
 com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier -> com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier:
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.Enqueuer$1):4106:4106 -> <init>
-    2:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):4111:4113 -> <init>
-    1:1:com.android.tools.r8.graph.DexDefinition definitionFor(com.android.tools.r8.graph.DexReference):4118:4118 -> definitionFor
-    2:2:com.android.tools.r8.graph.DexEncodedField definitionFor(com.android.tools.r8.graph.DexField):4123:4123 -> definitionFor
-    3:3:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):4128:4128 -> definitionFor
-    4:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):4133:4133 -> definitionFor
-    1:1:com.android.tools.r8.graph.DexProgramClass definitionForProgramType(com.android.tools.r8.graph.DexType):4138:4138 -> definitionForProgramType
-    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():4143:4143 -> dexItemFactory
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.Enqueuer$1):4154:4154 -> <init>
+    2:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):4159:4161 -> <init>
+    1:1:com.android.tools.r8.graph.DexEncodedMethod definitionFor(com.android.tools.r8.graph.DexMethod):4167:4167 -> definitionFor
+    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):4172:4172 -> definitionFor
+    1:1:com.android.tools.r8.graph.DexProgramClass definitionForProgramType(com.android.tools.r8.graph.DexType):4177:4177 -> definitionForProgramType
+    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():4182:4182 -> dexItemFactory
 com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet -> com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet:
-    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):3916:3916 -> <init>
-    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):3912:3917 -> <init>
-    1:1:java.util.Set access$1300(com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet):3910:3910 -> access$1300
-    1:4:boolean add(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):3921:3924 -> add
-    1:1:boolean contains(com.android.tools.r8.graph.DexEncodedField):3928:3928 -> contains
-    2:2:boolean contains(com.android.tools.r8.graph.ProgramField):3932:3932 -> contains
+    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):3964:3964 -> <init>
+    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):3960:3965 -> <init>
+    1:1:java.util.Set access$1300(com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet):3958:3958 -> access$1300
+    1:4:boolean add(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):3969:3972 -> add
+    1:1:boolean contains(com.android.tools.r8.graph.DexEncodedField):3976:3976 -> contains
+    2:2:boolean contains(com.android.tools.r8.graph.ProgramField):3980:3980 -> contains
 com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet -> com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet:
-    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):3942:3942 -> <init>
-    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):3938:3943 -> <init>
-    1:1:java.util.Set access$1200(com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet):3936:3936 -> access$1200
-    1:4:boolean add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3947:3950 -> add
-    1:1:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):3954:3954 -> contains
-    2:2:boolean contains(com.android.tools.r8.graph.ProgramMethod):3958:3958 -> contains
-    1:1:java.util.Set getItems():3962:3962 -> getItems
+    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):3990:3990 -> <init>
+    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):3986:3991 -> <init>
+    1:1:java.util.Set access$1200(com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet):3984:3984 -> access$1200
+    1:4:boolean add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3995:3998 -> add
+    1:1:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):4002:4002 -> contains
+    2:2:boolean contains(com.android.tools.r8.graph.ProgramMethod):4006:4006 -> contains
+    1:1:java.util.Set getItems():4010:4010 -> getItems
 com.android.tools.r8.shaking.Enqueuer$Mode -> com.android.tools.r8.shaking.Enqueuer$Mode:
-    1:4:void <clinit>():156:159 -> <clinit>
-    5:5:void <clinit>():155:155 -> <clinit>
-    1:1:void <init>(java.lang.String,int):155:155 -> <init>
-    1:1:boolean isFinalTreeShaking():166:166 -> isFinalTreeShaking
-    1:1:boolean isInitialOrFinalTreeShaking():170:170 -> isInitialOrFinalTreeShaking
-    1:1:boolean isInitialTreeShaking():162:162 -> isInitialTreeShaking
-    1:1:boolean isTracingMainDex():174:174 -> isTracingMainDex
-    1:1:com.android.tools.r8.shaking.Enqueuer$Mode valueOf(java.lang.String):155:155 -> valueOf
-    1:1:com.android.tools.r8.shaking.Enqueuer$Mode[] values():155:155 -> values
+    1:4:void <clinit>():158:161 -> <clinit>
+    5:5:void <clinit>():157:157 -> <clinit>
+    1:1:void <init>(java.lang.String,int):157:157 -> <init>
+    1:1:boolean isFinalTreeShaking():168:168 -> isFinalTreeShaking
+    1:1:boolean isInitialOrFinalTreeShaking():172:172 -> isInitialOrFinalTreeShaking
+    1:1:boolean isInitialTreeShaking():164:164 -> isInitialTreeShaking
+    1:1:boolean isTracingMainDex():176:176 -> isTracingMainDex
+    1:1:com.android.tools.r8.shaking.Enqueuer$Mode valueOf(java.lang.String):157:157 -> valueOf
+    1:1:com.android.tools.r8.shaking.Enqueuer$Mode[] values():157:157 -> values
 com.android.tools.r8.shaking.Enqueuer$SetWithReason -> com.android.tools.r8.shaking.Enqueuer$SetWithReason:
-    1:1:void <init>(java.util.function.BiConsumer):3972:3972 -> <init>
-    2:7:void <init>(java.util.function.BiConsumer):3968:3973 -> <init>
-    1:2:boolean add(java.lang.Object,com.android.tools.r8.shaking.KeepReason):3977:3978 -> add
-    1:1:boolean contains(java.lang.Object):3982:3982 -> contains
-    1:1:java.util.Set getItems():3986:3986 -> getItems
+    1:1:void <init>(java.util.function.BiConsumer):4020:4020 -> <init>
+    2:7:void <init>(java.util.function.BiConsumer):4016:4021 -> <init>
+    1:2:boolean add(java.lang.Object,com.android.tools.r8.shaking.KeepReason):4025:4026 -> add
+    1:1:boolean contains(java.lang.Object):4030:4030 -> contains
+    1:1:java.util.Set getItems():4034:4034 -> getItems
 com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason -> com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason:
-    1:1:void <clinit>():3879:3879 -> <clinit>
-    1:4:void <init>():3879:3882 -> <init>
-    5:5:void <init>(com.android.tools.r8.shaking.Enqueuer$1):3879:3879 -> <init>
-    1:1:java.util.Set access$300(com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason):3879:3879 -> access$300
-    1:3:boolean add(java.lang.Object,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):3885:3887 -> add
-    1:1:boolean contains(java.lang.Object):3894:3894 -> contains
-    1:1:java.util.Set getItems():3906:3906 -> getItems
-    1:1:java.util.List lambda$registerDeferredAction$0(java.lang.Object):3899:3899 -> lambda$registerDeferredAction$0
-    1:2:boolean registerDeferredAction(java.lang.Object,com.android.tools.r8.utils.Action):3898:3899 -> registerDeferredAction
+    1:1:void <clinit>():3927:3927 -> <clinit>
+    1:4:void <init>():3927:3930 -> <init>
+    5:5:void <init>(com.android.tools.r8.shaking.Enqueuer$1):3927:3927 -> <init>
+    1:1:java.util.Set access$300(com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason):3927:3927 -> access$300
+    1:3:boolean add(java.lang.Object,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):3933:3935 -> add
+    1:1:boolean contains(java.lang.Object):3942:3942 -> contains
+    1:1:java.util.Set getItems():3954:3954 -> getItems
+    1:1:java.util.List lambda$registerDeferredAction$0(java.lang.Object):3947:3947 -> lambda$registerDeferredAction$0
+    1:2:boolean registerDeferredAction(java.lang.Object,com.android.tools.r8.utils.Action):3946:3947 -> registerDeferredAction
 com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions -> com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions:
-    1:1:void <clinit>():2668:2668 -> <clinit>
-    1:14:void <init>():2668:2681 -> <init>
-    15:15:void <init>(com.android.tools.r8.shaking.Enqueuer$1):2668:2668 -> <init>
-    1:2:void addClasspathClass(com.android.tools.r8.graph.DexClasspathClass):2699:2700 -> addClasspathClass
-    1:4:void addInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,boolean):2691:2694 -> addInstantiatedClass
-    1:2:void addLiveAndPinnedMethod(com.android.tools.r8.graph.ProgramMethod):2710:2711 -> addLiveAndPinnedMethod
-    1:3:void addLiveMethod(com.android.tools.r8.graph.ProgramMethod):2704:2706 -> addLiveMethod
-    1:7:void amendApplication(com.android.tools.r8.graph.DirectMappedDexApplication$Builder):2715:2721 -> amendApplication
-    1:11:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):2725:2735 -> enqueueWorkItems
-    12:21:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):2733:2742 -> enqueueWorkItems
-    1:2:boolean isEmpty():2684:2685 -> isEmpty
-    1:1:void lambda$enqueueWorkItems$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexReference):2730:2730 -> lambda$enqueueWorkItems$0
+    1:1:void <clinit>():2711:2711 -> <clinit>
+    1:15:void <init>():2711:2725 -> <init>
+    16:16:void <init>(com.android.tools.r8.shaking.Enqueuer$1):2711:2711 -> <init>
+    1:2:void addClasspathClass(com.android.tools.r8.graph.DexClasspathClass):2743:2744 -> addClasspathClass
+    1:4:void addInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,boolean):2735:2738 -> addInstantiatedClass
+    1:3:void addLiveMethod(com.android.tools.r8.graph.ProgramMethod):2748:2750 -> addLiveMethod
+    1:2:void addLiveMethodWithKeepAction(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):2755:2756 -> addLiveMethodWithKeepAction
+    1:7:void amendApplication(com.android.tools.r8.graph.DirectMappedDexApplication$Builder):2760:2766 -> amendApplication
+    1:12:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):2770:2781 -> enqueueWorkItems
+    13:22:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):2779:2788 -> enqueueWorkItems
+    1:2:boolean isEmpty():2728:2729 -> isEmpty
+    1:1:void lambda$enqueueWorkItems$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.utils.Pair):2776:2776 -> lambda$enqueueWorkItems$0
 com.android.tools.r8.shaking.EnqueuerFactory -> com.android.tools.r8.shaking.EnqueuerFactory:
     1:1:void <init>():15:15 -> <init>
     1:6:com.android.tools.r8.shaking.Enqueuer createForFinalTreeShaking(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,java.util.Set,java.util.Set):28:33 -> createForFinalTreeShaking
@@ -62798,16 +62985,16 @@
     2:5:void <init>(com.android.tools.r8.graph.AppView):229:232 -> <init>
     1:1:com.android.tools.r8.shaking.EnqueuerWorklist createWorklist(com.android.tools.r8.graph.AppView):236:236 -> createWorklist
     1:1:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):272:272 -> enqueueMarkAnnotationInstantiatedAction
-    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> enqueueMarkAnnotationInstantiatedAction
+    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> enqueueMarkAnnotationInstantiatedAction
     2:2:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):272 -> enqueueMarkAnnotationInstantiatedAction
     3:5:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):272:274 -> enqueueMarkAnnotationInstantiatedAction
     1:1:void enqueueMarkFieldKeptAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):292:292 -> enqueueMarkFieldKeptAction
     1:1:void enqueueMarkInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):266:266 -> enqueueMarkInstantiatedAction
-    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> enqueueMarkInstantiatedAction
+    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> enqueueMarkInstantiatedAction
     2:2:void enqueueMarkInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):266 -> enqueueMarkInstantiatedAction
     3:5:void enqueueMarkInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):266:268 -> enqueueMarkInstantiatedAction
     1:1:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):278:278 -> enqueueMarkInterfaceInstantiatedAction
-    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():465:465 -> enqueueMarkInterfaceInstantiatedAction
+    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():472:472 -> enqueueMarkInterfaceInstantiatedAction
     2:2:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):278 -> enqueueMarkInterfaceInstantiatedAction
     3:5:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):278:280 -> enqueueMarkInterfaceInstantiatedAction
     1:1:void enqueueMarkMethodKeptAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):288:288 -> enqueueMarkMethodKeptAction
@@ -62890,7 +63077,7 @@
     1:1:com.android.tools.r8.experimental.graphinfo.MethodGraphNode getMethodGraphNode(com.android.tools.r8.graph.DexMethod):444:444 -> getMethodGraphNode
     1:1:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.KeepReason):391:391 -> getSourceNode
     1:1:boolean isNonProgramClass(com.android.tools.r8.graph.DexType):386:386 -> isNonProgramClass
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> isNonProgramClass
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> isNonProgramClass
     2:2:boolean isNonProgramClass(com.android.tools.r8.graph.DexType):386 -> isNonProgramClass
     3:3:boolean isNonProgramClass(com.android.tools.r8.graph.DexType):387:387 -> isNonProgramClass
     1:5:com.android.tools.r8.experimental.graphinfo.AnnotationGraphNode lambda$getAnnotationGraphNode$1(com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexItem):424:428 -> lambda$getAnnotationGraphNode$1
@@ -62918,11 +63105,11 @@
     1:4:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):195:198 -> reportCompatInstantiated
     5:10:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):196:201 -> reportCompatInstantiated
     1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):174:174 -> reportCompatKeepDefaultInitializer
-    2:570:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():0:568 -> reportCompatKeepDefaultInitializer
-    2:570:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):174 -> reportCompatKeepDefaultInitializer
-    571:571:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):175:175 -> reportCompatKeepDefaultInitializer
-    572:577:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):174:179 -> reportCompatKeepDefaultInitializer
-    578:583:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):177:182 -> reportCompatKeepDefaultInitializer
+    2:577:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():0:575 -> reportCompatKeepDefaultInitializer
+    2:577:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):174 -> reportCompatKeepDefaultInitializer
+    578:578:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):175:175 -> reportCompatKeepDefaultInitializer
+    579:584:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):174:179 -> reportCompatKeepDefaultInitializer
+    585:590:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):177:182 -> reportCompatKeepDefaultInitializer
     1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepMethod(com.android.tools.r8.graph.ProgramMethod):190:190 -> reportCompatKeepMethod
     1:3:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind):295:297 -> reportEdge
     1:6:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexProgramClass):112:117 -> reportKeepClass
@@ -62961,12 +63148,12 @@
     6:7:boolean canRemoveSubsequentKeepRule(com.android.tools.r8.shaking.ProguardIfRule):154:155 -> canRemoveSubsequentKeepRule
     1:17:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):197:213 -> evaluateClassForIfRule
     1:2:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):220:221 -> evaluateIfRuleMembersAndMaterialize
-    3:3:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.toReference():488:488 -> evaluateIfRuleMembersAndMaterialize
+    3:3:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.toReference():495:495 -> evaluateIfRuleMembersAndMaterialize
     3:3:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):222 -> evaluateIfRuleMembersAndMaterialize
     4:11:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):222:229 -> evaluateIfRuleMembersAndMaterialize
     12:21:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):227:236 -> evaluateIfRuleMembersAndMaterialize
     22:51:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):234:263 -> evaluateIfRuleMembersAndMaterialize
-    52:52:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.toReference():488:488 -> evaluateIfRuleMembersAndMaterialize
+    52:52:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.toReference():495:495 -> evaluateIfRuleMembersAndMaterialize
     52:52:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):269 -> evaluateIfRuleMembersAndMaterialize
     53:54:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):269:270 -> evaluateIfRuleMembersAndMaterialize
     1:10:boolean isEffectivelyLive(com.android.tools.r8.graph.DexProgramClass):179:188 -> isEffectivelyLive
@@ -62979,7 +63166,7 @@
     1:5:void registerClassCapture(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):167:171 -> registerClassCapture
     1:17:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet run():63:79 -> run
     18:53:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet run():78:113 -> run
-    54:54:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> run
+    54:54:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> run
     54:54:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet run():114 -> run
     55:89:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet run():114:148 -> run
     90:90:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet run():146:146 -> run
@@ -63024,6 +63211,178 @@
     1:1:void <init>(java.lang.String,int):7:7 -> <init>
     1:1:com.android.tools.r8.shaking.InstantiationReason valueOf(java.lang.String):7:7 -> valueOf
     1:1:com.android.tools.r8.shaking.InstantiationReason[] values():7:7 -> values
+com.android.tools.r8.shaking.KeepClassInfo -> com.android.tools.r8.shaking.KeepClassInfo:
+    1:7:void <clinit>():7:13 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.shaking.KeepClassInfo$Builder,com.android.tools.r8.shaking.KeepClassInfo$1):7:7 -> <init>
+    2:2:void <init>(com.android.tools.r8.shaking.KeepClassInfo$Builder):24:24 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepClassInfo access$200():7:7 -> access$200
+    1:1:com.android.tools.r8.shaking.KeepClassInfo access$300():7:7 -> access$300
+    1:1:com.android.tools.r8.shaking.KeepClassInfo$Builder access$500(com.android.tools.r8.shaking.KeepClassInfo):7:7 -> access$500
+    1:1:com.android.tools.r8.shaking.KeepClassInfo bottom():20:20 -> bottom
+    1:1:com.android.tools.r8.shaking.KeepClassInfo$Builder builder():28:28 -> builder
+    1:1:boolean isBottom():43:43 -> isBottom
+    1:1:boolean isTop():38:38 -> isTop
+    1:2:com.android.tools.r8.shaking.KeepClassInfo$Joiner joiner():32:33 -> joiner
+    1:1:com.android.tools.r8.shaking.KeepClassInfo top():16:16 -> top
+com.android.tools.r8.shaking.KeepClassInfo$Builder -> com.android.tools.r8.shaking.KeepClassInfo$Builder:
+    1:1:void <init>(com.android.tools.r8.shaking.KeepClassInfo$1):46:46 -> <init>
+    2:2:void <init>(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.shaking.KeepClassInfo$1):46:46 -> <init>
+    3:3:void <init>():49:49 -> <init>
+    4:4:void <init>(com.android.tools.r8.shaking.KeepClassInfo):53:53 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepInfo doBuild():46:46 -> doBuild
+    2:2:com.android.tools.r8.shaking.KeepClassInfo doBuild():78:78 -> doBuild
+    1:1:com.android.tools.r8.shaking.KeepInfo getBottomInfo():46:46 -> getBottomInfo
+    2:2:com.android.tools.r8.shaking.KeepClassInfo getBottomInfo():63:63 -> getBottomInfo
+    1:1:com.android.tools.r8.shaking.KeepInfo getTopInfo():46:46 -> getTopInfo
+    2:2:com.android.tools.r8.shaking.KeepClassInfo getTopInfo():58:58 -> getTopInfo
+    1:1:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):46:46 -> isEqualTo
+    1:1:com.android.tools.r8.shaking.KeepInfo$Builder self():46:46 -> self
+com.android.tools.r8.shaking.KeepClassInfo$Joiner -> com.android.tools.r8.shaking.KeepClassInfo$Joiner:
+    1:1:void <init>(com.android.tools.r8.shaking.KeepClassInfo):85:85 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner self():82:82 -> self
+com.android.tools.r8.shaking.KeepFieldInfo -> com.android.tools.r8.shaking.KeepFieldInfo:
+    1:7:void <clinit>():7:13 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.shaking.KeepFieldInfo$Builder,com.android.tools.r8.shaking.KeepFieldInfo$1):7:7 -> <init>
+    2:2:void <init>(com.android.tools.r8.shaking.KeepFieldInfo$Builder):24:24 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepFieldInfo access$200():7:7 -> access$200
+    1:1:com.android.tools.r8.shaking.KeepFieldInfo access$300():7:7 -> access$300
+    1:1:com.android.tools.r8.shaking.KeepFieldInfo bottom():20:20 -> bottom
+    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder builder():30:30 -> builder
+    1:1:boolean isBottom():45:45 -> isBottom
+    1:1:boolean isTop():40:40 -> isTop
+    1:2:com.android.tools.r8.shaking.KeepFieldInfo$Joiner joiner():34:35 -> joiner
+    1:1:com.android.tools.r8.shaking.KeepFieldInfo top():16:16 -> top
+com.android.tools.r8.shaking.KeepFieldInfo$Builder -> com.android.tools.r8.shaking.KeepFieldInfo$Builder:
+    1:1:void <init>(com.android.tools.r8.shaking.KeepFieldInfo$1):48:48 -> <init>
+    2:2:void <init>(com.android.tools.r8.shaking.KeepFieldInfo,com.android.tools.r8.shaking.KeepFieldInfo$1):48:48 -> <init>
+    3:3:void <init>():51:51 -> <init>
+    4:4:void <init>(com.android.tools.r8.shaking.KeepFieldInfo):55:55 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepInfo doBuild():48:48 -> doBuild
+    2:2:com.android.tools.r8.shaking.KeepFieldInfo doBuild():80:80 -> doBuild
+    1:1:com.android.tools.r8.shaking.KeepInfo getBottomInfo():48:48 -> getBottomInfo
+    2:2:com.android.tools.r8.shaking.KeepFieldInfo getBottomInfo():65:65 -> getBottomInfo
+    1:1:com.android.tools.r8.shaking.KeepInfo getTopInfo():48:48 -> getTopInfo
+    2:2:com.android.tools.r8.shaking.KeepFieldInfo getTopInfo():60:60 -> getTopInfo
+    1:1:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):48:48 -> isEqualTo
+    1:1:com.android.tools.r8.shaking.KeepInfo$Builder self():48:48 -> self
+com.android.tools.r8.shaking.KeepFieldInfo$Joiner -> com.android.tools.r8.shaking.KeepFieldInfo$Joiner:
+    1:1:void <init>(com.android.tools.r8.shaking.KeepFieldInfo):87:87 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner self():84:84 -> self
+com.android.tools.r8.shaking.KeepInfo -> com.android.tools.r8.shaking.KeepInfo:
+    1:3:void <init>(boolean,boolean):15:17 -> <init>
+    4:4:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):21:21 -> <init>
+    1:1:boolean internalIsAccessModificationAllowed():43:43 -> internalIsAccessModificationAllowed
+    1:1:boolean isAccessModificationAllowed(com.android.tools.r8.shaking.ProguardConfiguration):38:38 -> isAccessModificationAllowed
+    1:2:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):53:54 -> isLessThanOrEquals
+    1:1:boolean isPinned():26:26 -> isPinned
+com.android.tools.r8.shaking.KeepInfo$Builder -> com.android.tools.r8.shaking.KeepInfo$Builder:
+    1:1:void <init>():74:74 -> <init>
+    2:5:void <init>(com.android.tools.r8.shaking.KeepInfo):78:81 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepInfo access$000(com.android.tools.r8.shaking.KeepInfo$Builder):58:58 -> access$000
+    1:1:com.android.tools.r8.shaking.KeepInfo$Builder allowAccessModification():144:144 -> allowAccessModification
+    1:12:com.android.tools.r8.shaking.KeepInfo build():97:108 -> build
+    1:1:com.android.tools.r8.shaking.KeepInfo$Builder disallowAccessModification():148:148 -> disallowAccessModification
+    1:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):112:114 -> internalIsEqualTo
+    1:1:boolean isAccessModificationAllowed():122:122 -> isAccessModificationAllowed
+    1:1:boolean isPinned():118:118 -> isPinned
+    1:3:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():91:93 -> makeBottom
+    1:3:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():85:87 -> makeTop
+    1:1:com.android.tools.r8.shaking.KeepInfo$Builder pin():131:131 -> pin
+    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAccessModification(boolean):139:140 -> setAllowAccessModification
+    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setPinned(boolean):126:127 -> setPinned
+    1:1:com.android.tools.r8.shaking.KeepInfo$Builder unpin():135:135 -> unpin
+com.android.tools.r8.shaking.KeepInfo$Joiner -> com.android.tools.r8.shaking.KeepInfo$Joiner:
+    1:1:void <clinit>():153:153 -> <clinit>
+    1:2:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):160:161 -> <init>
+    1:1:boolean isTop():165:165 -> isTop
+    1:3:com.android.tools.r8.shaking.KeepInfo join():188:190 -> join
+    1:4:com.android.tools.r8.shaking.KeepInfo$Joiner lazyDisallowAccessModification(java.util.function.Supplier):181:184 -> lazyDisallowAccessModification
+    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner pin():174:175 -> pin
+    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner top():169:170 -> top
+com.android.tools.r8.shaking.KeepInfoCollection -> com.android.tools.r8.shaking.KeepInfoCollection:
+    1:1:void <clinit>():29:29 -> <clinit>
+    1:1:void <init>():29:29 -> <init>
+    1:2:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):71:72 -> getClassInfo
+    1:1:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.ProgramField):89:89 -> getFieldInfo
+    2:7:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):93:98 -> getFieldInfo
+    1:10:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):102:111 -> getInfo
+    1:1:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.ProgramMethod):76:76 -> getMethodInfo
+    2:7:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):80:85 -> getMethodInfo
+    1:1:boolean isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):115:115 -> isPinned
+    2:2:boolean isPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):119:119 -> isPinned
+    3:3:boolean isPinned(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):123:123 -> isPinned
+    4:4:boolean isPinned(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):127:127 -> isPinned
+    1:1:com.android.tools.r8.shaking.KeepClassInfo keepInfoForNonProgramClass():33:33 -> keepInfoForNonProgramClass
+    1:1:com.android.tools.r8.shaking.KeepFieldInfo keepInfoForNonProgramField():43:43 -> keepInfoForNonProgramField
+    1:1:com.android.tools.r8.shaking.KeepMethodInfo keepInfoForNonProgramMethod():38:38 -> keepInfoForNonProgramMethod
+    1:4:boolean verifyNoneArePinned(java.util.Collection,com.android.tools.r8.graph.AppInfo):131:134 -> verifyNoneArePinned
+com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection -> com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection:
+    1:1:void <clinit>():156:156 -> <clinit>
+    1:1:void <init>():165:165 -> <init>
+    2:5:void <init>(java.util.Map,java.util.Map,java.util.Map):171:174 -> <init>
+    1:1:void forEachPinnedField(java.util.function.Consumer):360:360 -> forEachPinnedField
+    1:1:void forEachPinnedMethod(java.util.function.Consumer):350:350 -> forEachPinnedMethod
+    1:1:void forEachPinnedType(java.util.function.Consumer):340:340 -> forEachPinnedType
+    1:1:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexProgramClass):205:205 -> getClassInfo
+    1:2:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass):216:217 -> getFieldInfo
+    1:2:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):210:211 -> getMethodInfo
+    1:9:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):221:229 -> joinClass
+    1:9:void joinField(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,java.util.function.Consumer):294:302 -> joinField
+    1:9:void joinMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):243:251 -> joinMethod
+    10:10:void joinMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):256:256 -> joinMethod
+    1:1:void keepClass(com.android.tools.r8.graph.DexProgramClass):234:234 -> keepClass
+    1:1:void keepField(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):307:307 -> keepField
+    1:5:void keepMember(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMember):315:319 -> keepMember
+    1:1:void keepMethod(com.android.tools.r8.graph.ProgramMethod):260:260 -> keepMethod
+    2:2:void keepMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):264:264 -> keepMethod
+    1:2:void lambda$forEachPinnedField$5(java.util.function.Consumer,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo):362:363 -> lambda$forEachPinnedField$5
+    1:2:void lambda$forEachPinnedMethod$4(java.util.function.Consumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):352:353 -> lambda$forEachPinnedMethod$4
+    1:2:void lambda$forEachPinnedType$3(java.util.function.Consumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):342:343 -> lambda$forEachPinnedType$3
+    1:3:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLense$NestedGraphLense,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):182:184 -> lambda$rewrite$0
+    1:3:void lambda$rewrite$1(com.android.tools.r8.graph.GraphLense$NestedGraphLense,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):189:191 -> lambda$rewrite$1
+    1:3:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLense$NestedGraphLense,java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo):196:198 -> lambda$rewrite$2
+    1:1:com.android.tools.r8.shaking.KeepInfoCollection mutate(java.util.function.Consumer):334:334 -> mutate
+    1:1:void pinClass(com.android.tools.r8.graph.DexProgramClass):238:238 -> pinClass
+    1:1:void pinField(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):311:311 -> pinField
+    1:1:void pinMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):268:268 -> pinMethod
+    1:22:com.android.tools.r8.shaking.KeepInfoCollection rewrite(com.android.tools.r8.graph.GraphLense$NestedGraphLense):179:200 -> rewrite
+    1:3:void unsafeUnpinField(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):324:326 -> unsafeUnpinField
+    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexEncodedField.toReference():116:116 -> unsafeUnpinField
+    4:4:void unsafeUnpinField(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):326 -> unsafeUnpinField
+    5:7:void unsafeUnpinField(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):326:328 -> unsafeUnpinField
+    8:8:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexEncodedField.toReference():116:116 -> unsafeUnpinField
+    8:8:void unsafeUnpinField(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):328 -> unsafeUnpinField
+    9:9:void unsafeUnpinField(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):328:328 -> unsafeUnpinField
+    1:2:void unsafeUnpinMethod(com.android.tools.r8.graph.ProgramMethod):279:280 -> unsafeUnpinMethod
+    3:5:void unsafeUnpinMethod(com.android.tools.r8.graph.DexMethod):286:288 -> unsafeUnpinMethod
+com.android.tools.r8.shaking.KeepMethodInfo -> com.android.tools.r8.shaking.KeepMethodInfo:
+    1:7:void <clinit>():7:13 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.shaking.KeepMethodInfo$Builder,com.android.tools.r8.shaking.KeepMethodInfo$1):7:7 -> <init>
+    2:2:void <init>(com.android.tools.r8.shaking.KeepMethodInfo$Builder):24:24 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepMethodInfo access$200():7:7 -> access$200
+    1:1:com.android.tools.r8.shaking.KeepMethodInfo access$300():7:7 -> access$300
+    1:1:com.android.tools.r8.shaking.KeepMethodInfo bottom():20:20 -> bottom
+    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder builder():30:30 -> builder
+    1:1:boolean isBottom():45:45 -> isBottom
+    1:1:boolean isTop():40:40 -> isTop
+    1:2:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():34:35 -> joiner
+    1:1:com.android.tools.r8.shaking.KeepMethodInfo top():16:16 -> top
+com.android.tools.r8.shaking.KeepMethodInfo$Builder -> com.android.tools.r8.shaking.KeepMethodInfo$Builder:
+    1:1:void <init>(com.android.tools.r8.shaking.KeepMethodInfo$1):48:48 -> <init>
+    2:2:void <init>(com.android.tools.r8.shaking.KeepMethodInfo,com.android.tools.r8.shaking.KeepMethodInfo$1):48:48 -> <init>
+    3:3:void <init>():51:51 -> <init>
+    4:4:void <init>(com.android.tools.r8.shaking.KeepMethodInfo):55:55 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepInfo doBuild():48:48 -> doBuild
+    2:2:com.android.tools.r8.shaking.KeepMethodInfo doBuild():80:80 -> doBuild
+    1:1:com.android.tools.r8.shaking.KeepInfo getBottomInfo():48:48 -> getBottomInfo
+    2:2:com.android.tools.r8.shaking.KeepMethodInfo getBottomInfo():70:70 -> getBottomInfo
+    1:1:com.android.tools.r8.shaking.KeepInfo getTopInfo():48:48 -> getTopInfo
+    2:2:com.android.tools.r8.shaking.KeepMethodInfo getTopInfo():65:65 -> getTopInfo
+    1:1:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):48:48 -> isEqualTo
+    1:1:com.android.tools.r8.shaking.KeepInfo$Builder self():48:48 -> self
+com.android.tools.r8.shaking.KeepMethodInfo$Joiner -> com.android.tools.r8.shaking.KeepMethodInfo$Joiner:
+    1:1:void <init>(com.android.tools.r8.shaking.KeepMethodInfo):87:87 -> <init>
+    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner self():84:84 -> self
 com.android.tools.r8.shaking.KeepReason -> com.android.tools.r8.shaking.KeepReason:
     1:1:void <init>():18:18 -> <init>
     1:1:com.android.tools.r8.shaking.KeepReason annotatedOn(com.android.tools.r8.graph.DexDefinition):25:25 -> annotatedOn
@@ -63104,38 +63463,38 @@
     1:12:com.android.tools.r8.graph.DexApplication prune(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.desugar.PrefixRewritingMapper):40:51 -> prune
     13:21:com.android.tools.r8.graph.DexApplication prune(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.desugar.PrefixRewritingMapper):49:57 -> prune
 com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis -> com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis:
-    1:1:void <clinit>():28:28 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView):40:40 -> <init>
-    2:8:void <init>(com.android.tools.r8.graph.AppView):38:44 -> <init>
-    9:9:void <init>(com.android.tools.r8.graph.AppView):43:43 -> <init>
-    1:13:void analyze(com.android.tools.r8.ir.code.IRCode):106:118 -> analyze
-    14:14:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> analyze
-    14:14:void analyze(com.android.tools.r8.ir.code.IRCode):118 -> analyze
-    15:30:void analyze(com.android.tools.r8.ir.code.IRCode):119:134 -> analyze
-    31:31:void analyze(com.android.tools.r8.ir.code.IRCode):133:133 -> analyze
-    1:2:void finish():144:145 -> finish
-    1:4:java.util.Set getClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):61:64 -> getClassesWithLibraryMethodOverrides
-    5:5:java.util.Set getClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):63:63 -> getClassesWithLibraryMethodOverrides
-    1:5:java.util.Set getInitialNonEscapingClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):50:54 -> getInitialNonEscapingClassesWithLibraryMethodOverrides
-    1:5:boolean hasLibraryMethodOverrideDirectly(com.android.tools.r8.graph.DexProgramClass):81:85 -> hasLibraryMethodOverrideDirectly
-    1:2:boolean hasLibraryMethodOverrideDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass,java.util.Set):76:77 -> hasLibraryMethodOverrideDirectlyOrIndirectly
-    1:5:boolean hasLibraryMethodOverrideIndirectly(com.android.tools.r8.graph.DexProgramClass,java.util.Set):94:98 -> hasLibraryMethodOverrideIndirectly
-    1:1:boolean lambda$finish$1(com.android.tools.r8.graph.DexType):146:146 -> lambda$finish$1
-    1:3:void lambda$getClassesWithLibraryMethodOverrides$0(java.util.Set,com.android.tools.r8.graph.DexProgramClass):66:68 -> lambda$getClassesWithLibraryMethodOverrides$0
-    1:4:void lambda$logResults$2(java.lang.Class):174:177 -> lambda$logResults$2
-    5:5:void lambda$logResults$2(java.lang.Class):173:173 -> lambda$logResults$2
-    1:5:void logResults():160:164 -> logResults
-    6:13:void logResults():161:168 -> logResults
-    14:20:void logResults():165:171 -> logResults
-    1:5:boolean verifyNoUninstantiatedTypesEscapeIntoLibrary():150:154 -> verifyNoUninstantiatedTypesEscapeIntoLibrary
-    6:6:boolean verifyNoUninstantiatedTypesEscapeIntoLibrary():152:152 -> verifyNoUninstantiatedTypesEscapeIntoLibrary
+    1:1:void <clinit>():27:27 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView):39:39 -> <init>
+    2:8:void <init>(com.android.tools.r8.graph.AppView):37:43 -> <init>
+    9:9:void <init>(com.android.tools.r8.graph.AppView):42:42 -> <init>
+    1:13:void analyze(com.android.tools.r8.ir.code.IRCode):107:119 -> analyze
+    14:14:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> analyze
+    14:14:void analyze(com.android.tools.r8.ir.code.IRCode):119 -> analyze
+    15:30:void analyze(com.android.tools.r8.ir.code.IRCode):120:135 -> analyze
+    31:31:void analyze(com.android.tools.r8.ir.code.IRCode):134:134 -> analyze
+    1:2:void finish():145:146 -> finish
+    1:4:java.util.Set getClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):62:65 -> getClassesWithLibraryMethodOverrides
+    5:5:java.util.Set getClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):64:64 -> getClassesWithLibraryMethodOverrides
+    1:7:java.util.Set getInitialNonEscapingClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):49:55 -> getInitialNonEscapingClassesWithLibraryMethodOverrides
+    1:5:boolean hasLibraryMethodOverrideDirectly(com.android.tools.r8.graph.DexProgramClass):82:86 -> hasLibraryMethodOverrideDirectly
+    1:2:boolean hasLibraryMethodOverrideDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass,java.util.Set):77:78 -> hasLibraryMethodOverrideDirectlyOrIndirectly
+    1:5:boolean hasLibraryMethodOverrideIndirectly(com.android.tools.r8.graph.DexProgramClass,java.util.Set):95:99 -> hasLibraryMethodOverrideIndirectly
+    1:1:boolean lambda$finish$1(com.android.tools.r8.graph.DexType):147:147 -> lambda$finish$1
+    1:3:void lambda$getClassesWithLibraryMethodOverrides$0(java.util.Set,com.android.tools.r8.graph.DexProgramClass):67:69 -> lambda$getClassesWithLibraryMethodOverrides$0
+    1:4:void lambda$logResults$2(java.lang.Class):175:178 -> lambda$logResults$2
+    5:5:void lambda$logResults$2(java.lang.Class):174:174 -> lambda$logResults$2
+    1:5:void logResults():161:165 -> logResults
+    6:13:void logResults():162:169 -> logResults
+    14:20:void logResults():166:172 -> logResults
+    1:5:boolean verifyNoUninstantiatedTypesEscapeIntoLibrary():151:155 -> verifyNoUninstantiatedTypesEscapeIntoLibrary
+    6:6:boolean verifyNoUninstantiatedTypesEscapeIntoLibrary():153:153 -> verifyNoUninstantiatedTypesEscapeIntoLibrary
 com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration -> com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration:
-    1:1:void <clinit>():182:182 -> <clinit>
-    1:1:void <init>():185:185 -> <init>
-    1:1:com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration getInstance():188:188 -> getInstance
-    1:23:boolean isLegitimateConstructorInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):209:231 -> isLegitimateConstructorInvocation
-    1:3:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):197:199 -> isLegitimateEscapeRoute
-    4:4:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):198:198 -> isLegitimateEscapeRoute
+    1:1:void <clinit>():183:183 -> <clinit>
+    1:1:void <init>():186:186 -> <init>
+    1:1:com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration getInstance():189:189 -> getInstance
+    1:23:boolean isLegitimateConstructorInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):210:232 -> isLegitimateConstructorInvocation
+    1:3:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):198:200 -> isLegitimateEscapeRoute
+    4:4:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):199:199 -> isLegitimateEscapeRoute
 com.android.tools.r8.shaking.MainDexClasses -> com.android.tools.r8.shaking.MainDexClasses:
     1:3:void <clinit>():18:20 -> <clinit>
     1:1:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.shaking.MainDexClasses$1):18:18 -> <init>
@@ -63233,7 +63592,7 @@
     1:3:com.android.tools.r8.shaking.MainDexClasses run():63:65 -> run
     1:2:void traceMainDexDirectDependencies():133:134 -> traceMainDexDirectDependencies
     1:12:void traceRuntimeAnnotationsWithEnumForMainDex():69:80 -> traceRuntimeAnnotationsWithEnumForMainDex
-    13:19:void com.android.tools.r8.graph.DexClass.forEachAnnotation(java.util.function.Consumer):207:213 -> traceRuntimeAnnotationsWithEnumForMainDex
+    13:19:void com.android.tools.r8.graph.DexClass.forEachAnnotation(java.util.function.Consumer):205:211 -> traceRuntimeAnnotationsWithEnumForMainDex
     13:19:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> traceRuntimeAnnotationsWithEnumForMainDex
 com.android.tools.r8.shaking.MemberValuePropagationRule -> com.android.tools.r8.shaking.MemberValuePropagationRule:
     1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.shaking.MemberValuePropagationRule$1):11:11 -> <init>
@@ -63845,7 +64204,7 @@
     1:1:java.util.stream.Stream lambda$getWildcards$0(java.lang.Iterable):134:134 -> lambda$getWildcards$0
     1:1:void markAsUsed():50:50 -> markAsUsed
     1:5:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):97:101 -> relevantCandidatesForRule
-    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> relevantCandidatesForRule
+    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> relevantCandidatesForRule
     6:6:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):102 -> relevantCandidatesForRule
     7:10:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):103:106 -> relevantCandidatesForRule
     11:11:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> relevantCandidatesForRule
@@ -64367,203 +64726,262 @@
     1:1:com.android.tools.r8.shaking.ReprocessMethodRule$Type valueOf(java.lang.String):13:13 -> valueOf
     1:1:com.android.tools.r8.shaking.ReprocessMethodRule$Type[] values():13:13 -> values
 com.android.tools.r8.shaking.RootSetBuilder -> com.android.tools.r8.shaking.RootSetBuilder:
-    1:1:void <clinit>():78:78 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):119:119 -> <init>
-    2:42:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):84:124 -> <init>
-    43:43:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):129:129 -> <init>
-    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.shaking.RootSetBuilder):78:78 -> access$200
-    1:1:com.android.tools.r8.shaking.DexStringCache access$300(com.android.tools.r8.shaking.RootSetBuilder):78:78 -> access$300
-    1:1:boolean access$400(com.android.tools.r8.shaking.RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> access$400
-    1:1:java.util.Queue access$500(com.android.tools.r8.shaking.RootSetBuilder):78:78 -> access$500
-    1:1:com.android.tools.r8.graph.DexDefinition access$600(com.android.tools.r8.graph.DexDefinition,java.util.Map):78:78 -> access$600
-    1:1:void access$700(com.android.tools.r8.shaking.RootSetBuilder,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):78:78 -> access$700
-    1:21:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1033:1053 -> addItemToSets
-    22:22:boolean com.android.tools.r8.graph.DexMethod.isLambdaDeserializeMethod(com.android.tools.r8.graph.DexItemFactory):191:191 -> addItemToSets
-    22:22:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1053 -> addItemToSets
-    23:26:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1059:1062 -> addItemToSets
-    27:27:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> addItemToSets
-    27:27:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1062 -> addItemToSets
-    28:33:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1063:1068 -> addItemToSets
-    34:113:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1065:1144 -> addItemToSets
-    114:114:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1138:1138 -> addItemToSets
-    115:133:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1135:1153 -> addItemToSets
-    134:157:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1150:1173 -> addItemToSets
-    158:166:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1167:1175 -> addItemToSets
-    167:195:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1158:1186 -> addItemToSets
-    196:245:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1184:1233 -> addItemToSets
-    246:267:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1227:1248 -> addItemToSets
-    268:284:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1242:1258 -> addItemToSets
-    1:2:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):856:857 -> allRulesSatisfied
-    1:30:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):810:839 -> anyImplementedInterfaceMatchesImplementsRule
-    1:6:boolean anySourceMatchesInheritanceRuleDirectly(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,boolean):846:851 -> anySourceMatchesInheritanceRuleDirectly
-    1:17:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):774:790 -> anySuperTypeMatchesExtendsRule
-    1:8:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet buildConsequentRootSet():409:416 -> buildConsequentRootSet
-    1:2:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):603:604 -> canInsertForwardingMethod
-    1:1:com.android.tools.r8.shaking.AnnotationMatchResult containsAnnotation(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.graph.DexClass):899:899 -> containsAnnotation
-    2:13:boolean containsAnnotation(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.graph.DexEncodedMember,java.util.function.Consumer):907:918 -> containsAnnotation
-    14:18:com.android.tools.r8.shaking.AnnotationMatchResult containsAnnotation(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.graph.DexAnnotationSet):929:933 -> containsAnnotation
-    1:10:void includeDescriptor(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase):990:999 -> includeDescriptor
-    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> includeDescriptor
-    11:11:void includeDescriptor(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase):999 -> includeDescriptor
-    12:21:void includeDescriptor(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase):1000:1009 -> includeDescriptor
-    1:11:void includeDescriptorClasses(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase):1013:1023 -> includeDescriptorClasses
-    1:1:java.util.Set lambda$addItemToSets$14(com.android.tools.r8.graph.DexType):1086:1086 -> lambda$addItemToSets$14
-    1:1:java.util.Map lambda$addItemToSets$15(com.android.tools.r8.graph.DexReference):1094:1094 -> lambda$addItemToSets$15
-    1:1:java.util.Set lambda$addItemToSets$16(com.android.tools.r8.graph.DexReference):1095:1095 -> lambda$addItemToSets$16
-    1:1:java.util.Set lambda$addItemToSets$17(com.android.tools.r8.graph.DexReference):1098:1098 -> lambda$addItemToSets$17
-    1:1:boolean lambda$anySourceMatchesInheritanceRuleDirectly$11(boolean,com.android.tools.r8.graph.DexType):850:850 -> lambda$anySourceMatchesInheritanceRuleDirectly$11
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> lambda$anySourceMatchesInheritanceRuleDirectly$11
-    2:2:boolean lambda$anySourceMatchesInheritanceRuleDirectly$11(boolean,com.android.tools.r8.graph.DexType):850 -> lambda$anySourceMatchesInheritanceRuleDirectly$11
-    3:3:boolean lambda$anySourceMatchesInheritanceRuleDirectly$11(boolean,com.android.tools.r8.graph.DexType):850:850 -> lambda$anySourceMatchesInheritanceRuleDirectly$11
-    1:1:java.util.Map lambda$includeDescriptor$12(com.android.tools.r8.graph.DexReference):1005:1005 -> lambda$includeDescriptor$12
-    1:1:java.util.Set lambda$includeDescriptor$13(com.android.tools.r8.graph.DexReference):1006:1006 -> lambda$includeDescriptor$13
-    1:2:void lambda$markMatchingFields$10(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedField):684:685 -> lambda$markMatchingFields$10
-    1:2:void lambda$markMatchingMethods$8(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedMethod):651:652 -> lambda$markMatchingMethods$8
-    1:2:void lambda$markMatchingOverriddenMethods$7(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedMethod):636:637 -> lambda$markMatchingOverriddenMethods$7
-    1:2:void lambda$markMatchingVisibleFields$9(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedField):669:670 -> lambda$markMatchingVisibleFields$9
-    1:2:void lambda$markMatchingVisibleMethods$5(java.util.Map,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedMethod):461:462 -> lambda$markMatchingVisibleMethods$5
-    1:2:void lambda$markMatchingVisibleMethods$6(java.util.Map,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedMethod):469:470 -> lambda$markMatchingVisibleMethods$6
-    1:1:boolean lambda$process$1(com.android.tools.r8.graph.DexDefinition):192:192 -> lambda$process$1
-    1:6:void lambda$runPerRule$4(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):277:282 -> lambda$runPerRule$4
-    1:2:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):983:984 -> markClass
+    1:1:void <clinit>():79:79 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):123:123 -> <init>
+    2:45:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):85:128 -> <init>
+    46:46:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):133:133 -> <init>
+    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.shaking.RootSetBuilder):79:79 -> access$200
+    1:1:com.android.tools.r8.shaking.DexStringCache access$300(com.android.tools.r8.shaking.RootSetBuilder):79:79 -> access$300
+    1:1:boolean access$400(com.android.tools.r8.shaking.RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):79:79 -> access$400
+    1:1:java.util.Queue access$500(com.android.tools.r8.shaking.RootSetBuilder):79:79 -> access$500
+    1:1:com.android.tools.r8.graph.DexDefinition access$600(com.android.tools.r8.graph.DexDefinition,java.util.Map):79:79 -> access$600
+    1:1:void access$700(com.android.tools.r8.shaking.RootSetBuilder,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):79:79 -> access$700
+    1:21:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1046:1066 -> addItemToSets
+    22:22:boolean com.android.tools.r8.graph.DexMethod.isLambdaDeserializeMethod(com.android.tools.r8.graph.DexItemFactory):224:224 -> addItemToSets
+    22:22:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1066 -> addItemToSets
+    23:26:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1072:1075 -> addItemToSets
+    27:27:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> addItemToSets
+    27:27:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1075 -> addItemToSets
+    28:33:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1076:1081 -> addItemToSets
+    34:113:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1078:1157 -> addItemToSets
+    114:114:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1151:1151 -> addItemToSets
+    115:133:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1148:1166 -> addItemToSets
+    134:157:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1163:1186 -> addItemToSets
+    158:166:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1180:1188 -> addItemToSets
+    167:195:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1171:1199 -> addItemToSets
+    196:245:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1197:1246 -> addItemToSets
+    246:267:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1240:1261 -> addItemToSets
+    268:284:void addItemToSets(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):1255:1271 -> addItemToSets
+    1:2:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):870:871 -> allRulesSatisfied
+    1:30:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):824:853 -> anyImplementedInterfaceMatchesImplementsRule
+    1:6:boolean anySourceMatchesInheritanceRuleDirectly(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,boolean):860:865 -> anySourceMatchesInheritanceRuleDirectly
+    1:17:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):788:804 -> anySuperTypeMatchesExtendsRule
+    1:8:com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet buildConsequentRootSet():414:421 -> buildConsequentRootSet
+    1:2:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):608:609 -> canInsertForwardingMethod
+    1:8:void checkAssumeNoSideEffectsWarnings(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule,com.android.tools.r8.shaking.ProguardMemberRule):1636:1643 -> checkAssumeNoSideEffectsWarnings
+    1:1:com.android.tools.r8.shaking.AnnotationMatchResult containsAnnotation(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.graph.DexClass):913:913 -> containsAnnotation
+    2:13:boolean containsAnnotation(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.graph.DexEncodedMember,java.util.function.Consumer):921:932 -> containsAnnotation
+    14:18:com.android.tools.r8.shaking.AnnotationMatchResult containsAnnotation(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.graph.DexAnnotationSet):943:947 -> containsAnnotation
+    1:8:void generateAssumeNoSideEffectsWarnings():1656:1663 -> generateAssumeNoSideEffectsWarnings
+    1:10:void includeDescriptor(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase):1004:1013 -> includeDescriptor
+    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> includeDescriptor
+    11:11:void includeDescriptor(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase):1013 -> includeDescriptor
+    12:20:void includeDescriptor(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase):1014:1022 -> includeDescriptor
+    1:11:void includeDescriptorClasses(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase):1026:1036 -> includeDescriptorClasses
+    1:1:boolean isWaitOrNotifyMethod(com.android.tools.r8.graph.DexMethod):1649:1649 -> isWaitOrNotifyMethod
+    1:1:java.util.Set lambda$addItemToSets$16(com.android.tools.r8.graph.DexType):1099:1099 -> lambda$addItemToSets$16
+    1:1:com.android.tools.r8.shaking.RootSetBuilder$MutableItemsWithRules lambda$addItemToSets$17(com.android.tools.r8.graph.DexReference):1107:1107 -> lambda$addItemToSets$17
+    1:1:boolean lambda$anySourceMatchesInheritanceRuleDirectly$14(boolean,com.android.tools.r8.graph.DexType):864:864 -> lambda$anySourceMatchesInheritanceRuleDirectly$14
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> lambda$anySourceMatchesInheritanceRuleDirectly$14
+    2:2:boolean lambda$anySourceMatchesInheritanceRuleDirectly$14(boolean,com.android.tools.r8.graph.DexType):864 -> lambda$anySourceMatchesInheritanceRuleDirectly$14
+    3:3:boolean lambda$anySourceMatchesInheritanceRuleDirectly$14(boolean,com.android.tools.r8.graph.DexType):864:864 -> lambda$anySourceMatchesInheritanceRuleDirectly$14
+    1:1:java.util.List lambda$checkAssumeNoSideEffectsWarnings$20(com.android.tools.r8.utils.OriginWithPosition):1643:1643 -> lambda$checkAssumeNoSideEffectsWarnings$20
+    1:26:void lambda$generateAssumeNoSideEffectsWarnings$21(com.android.tools.r8.utils.OriginWithPosition,java.util.List):1665:1690 -> lambda$generateAssumeNoSideEffectsWarnings$21
+    27:27:void lambda$generateAssumeNoSideEffectsWarnings$21(com.android.tools.r8.utils.OriginWithPosition,java.util.List):1686:1686 -> lambda$generateAssumeNoSideEffectsWarnings$21
+    1:1:com.android.tools.r8.shaking.RootSetBuilder$MutableItemsWithRules lambda$includeDescriptor$15(com.android.tools.r8.graph.DexReference):1019:1019 -> lambda$includeDescriptor$15
+    1:2:void lambda$markMatchingFields$10(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedField):689:690 -> lambda$markMatchingFields$10
+    1:2:void lambda$markMatchingMethods$8(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedMethod):656:657 -> lambda$markMatchingMethods$8
+    1:2:void lambda$markMatchingOverriddenMethods$7(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedMethod):641:642 -> lambda$markMatchingOverriddenMethods$7
+    1:2:void lambda$markMatchingVisibleFields$9(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedField):674:675 -> lambda$markMatchingVisibleFields$9
+    1:2:void lambda$markMatchingVisibleMethods$5(java.util.Map,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedMethod):466:467 -> lambda$markMatchingVisibleMethods$5
+    1:2:void lambda$markMatchingVisibleMethods$6(java.util.Map,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexEncodedMethod):474:475 -> lambda$markMatchingVisibleMethods$6
+    1:1:boolean lambda$process$1(com.android.tools.r8.graph.DexDefinition):196:196 -> lambda$process$1
+    1:6:void lambda$runPerRule$4(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):281:286 -> lambda$runPerRule$4
+    1:2:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexType):701:702 -> lambda$writeSeeds$11
+    1:7:void lambda$writeSeeds$12(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):709:715 -> lambda$writeSeeds$12
+    8:8:void lambda$writeSeeds$12(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):710:710 -> lambda$writeSeeds$12
+    1:4:void lambda$writeSeeds$13(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):722:725 -> lambda$writeSeeds$13
+    5:5:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexMethod.lookupOnClass(com.android.tools.r8.graph.DexClass):61:61 -> lambda$writeSeeds$13
+    5:5:void lambda$writeSeeds$13(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):726 -> lambda$writeSeeds$13
+    6:18:void lambda$writeSeeds$13(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):728:740 -> lambda$writeSeeds$13
+    19:31:void lambda$writeSeeds$13(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):739:751 -> lambda$writeSeeds$13
+    1:2:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):997:998 -> markClass
     3:3:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markClass
-    3:3:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):984 -> markClass
-    4:4:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):986:986 -> markClass
-    1:4:void markField(com.android.tools.r8.graph.DexEncodedField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):971:974 -> markField
+    3:3:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):998 -> markClass
+    4:4:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1000:1000 -> markClass
+    1:4:void markField(com.android.tools.r8.graph.DexEncodedField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):985:988 -> markField
     5:5:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markField
-    5:5:void markField(com.android.tools.r8.graph.DexEncodedField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):974 -> markField
-    6:6:void markField(com.android.tools.r8.graph.DexEncodedField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):977:977 -> markField
-    1:1:void markMatchingFields(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):682:682 -> markMatchingFields
-    1:1:void markMatchingMethods(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):649:649 -> markMatchingMethods
-    1:11:void markMatchingOverriddenMethods(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):615:625 -> markMatchingOverriddenMethods
-    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> markMatchingOverriddenMethods
-    12:12:void markMatchingOverriddenMethods(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):625 -> markMatchingOverriddenMethods
-    13:23:void markMatchingOverriddenMethods(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):629:639 -> markMatchingOverriddenMethods
-    1:9:void markMatchingVisibleFields(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):664:672 -> markMatchingVisibleFields
-    1:40:void markMatchingVisibleMethods(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):447:486 -> markMatchingVisibleMethods
-    1:8:void markMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):947:954 -> markMethod
+    5:5:void markField(com.android.tools.r8.graph.DexEncodedField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):988 -> markField
+    6:6:void markField(com.android.tools.r8.graph.DexEncodedField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):991:991 -> markField
+    1:1:void markMatchingFields(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):687:687 -> markMatchingFields
+    1:1:void markMatchingMethods(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):654:654 -> markMatchingMethods
+    1:11:void markMatchingOverriddenMethods(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):620:630 -> markMatchingOverriddenMethods
+    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> markMatchingOverriddenMethods
+    12:12:void markMatchingOverriddenMethods(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):630 -> markMatchingOverriddenMethods
+    13:23:void markMatchingOverriddenMethods(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):634:644 -> markMatchingOverriddenMethods
+    1:9:void markMatchingVisibleFields(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):669:677 -> markMatchingVisibleFields
+    1:40:void markMatchingVisibleMethods(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):452:491 -> markMatchingVisibleMethods
+    1:8:void markMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):961:968 -> markMethod
     9:9:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> markMethod
-    9:9:void markMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):954 -> markMethod
-    10:12:void markMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):958:960 -> markMethod
-    1:64:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):141:204 -> process
-    65:84:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):181:200 -> process
-    85:161:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):174:250 -> process
-    162:163:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):241:242 -> process
-    164:164:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):237:237 -> process
-    165:167:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):228:230 -> process
-    168:170:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):229:231 -> process
-    171:171:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):211:211 -> process
-    1:12:void propagateAssumeRules(com.android.tools.r8.graph.DexClass):352:363 -> propagateAssumeRules
-    13:44:void propagateAssumeRules(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,java.util.Set,java.util.Map):373:404 -> propagateAssumeRules
-    1:4:boolean ruleSatisfied(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClass):869:872 -> ruleSatisfied
-    1:3:boolean ruleSatisfiedByFields(com.android.tools.r8.shaking.ProguardMemberRule,java.lang.Iterable):887:889 -> ruleSatisfiedByFields
-    1:3:boolean ruleSatisfiedByMethods(com.android.tools.r8.shaking.ProguardMemberRule,java.lang.Iterable):876:878 -> ruleSatisfiedByMethods
-    1:33:com.android.tools.r8.shaking.RootSetBuilder$RootSet run(java.util.concurrent.ExecutorService):289:321 -> run
-    34:62:com.android.tools.r8.shaking.RootSetBuilder$RootSet run(java.util.concurrent.ExecutorService):320:348 -> run
-    63:63:com.android.tools.r8.shaking.RootSetBuilder$RootSet run(java.util.concurrent.ExecutorService):305:305 -> run
-    1:16:void runPerRule(java.util.concurrent.ExecutorService,java.util.List,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):259:274 -> runPerRule
-    17:17:void runPerRule(java.util.concurrent.ExecutorService,java.util.List,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):273:273 -> runPerRule
-    1:2:boolean satisfyAccessFlag(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):747:748 -> satisfyAccessFlag
-    1:1:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):752:752 -> satisfyAnnotation
-    1:1:boolean satisfyClassType(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):743:743 -> satisfyClassType
-    1:6:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):764:769 -> satisfyExtendsRule
-    1:6:boolean satisfyImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):796:801 -> satisfyImplementsRule
-    1:5:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):756:760 -> satisfyInheritanceRule
-    1:10:com.android.tools.r8.graph.DexDefinition testAndGetPrecondition(com.android.tools.r8.graph.DexDefinition,java.util.Map):426:435 -> testAndGetPrecondition
-    1:14:void writeSeeds(com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,java.util.function.Predicate):692:705 -> writeSeeds
-    15:40:void writeSeeds(com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,java.util.function.Predicate):700:725 -> writeSeeds
-    41:56:void writeSeeds(com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,java.util.function.Predicate):724:739 -> writeSeeds
+    9:9:void markMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):968 -> markMethod
+    10:12:void markMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardIfRule):972:974 -> markMethod
+    1:64:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):145:208 -> process
+    65:84:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):185:204 -> process
+    85:161:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):178:254 -> process
+    162:163:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):245:246 -> process
+    164:164:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):241:241 -> process
+    165:167:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):232:234 -> process
+    168:170:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):233:235 -> process
+    171:171:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):215:215 -> process
+    1:12:void propagateAssumeRules(com.android.tools.r8.graph.DexClass):357:368 -> propagateAssumeRules
+    13:44:void propagateAssumeRules(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,java.util.Set,java.util.Map):378:409 -> propagateAssumeRules
+    1:4:boolean ruleSatisfied(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClass):883:886 -> ruleSatisfied
+    1:3:boolean ruleSatisfiedByFields(com.android.tools.r8.shaking.ProguardMemberRule,java.lang.Iterable):901:903 -> ruleSatisfiedByFields
+    1:3:boolean ruleSatisfiedByMethods(com.android.tools.r8.shaking.ProguardMemberRule,java.lang.Iterable):890:892 -> ruleSatisfiedByMethods
+    1:34:com.android.tools.r8.shaking.RootSetBuilder$RootSet run(java.util.concurrent.ExecutorService):293:326 -> run
+    35:63:com.android.tools.r8.shaking.RootSetBuilder$RootSet run(java.util.concurrent.ExecutorService):325:353 -> run
+    64:64:com.android.tools.r8.shaking.RootSetBuilder$RootSet run(java.util.concurrent.ExecutorService):309:309 -> run
+    1:16:void runPerRule(java.util.concurrent.ExecutorService,java.util.List,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):263:278 -> runPerRule
+    17:17:void runPerRule(java.util.concurrent.ExecutorService,java.util.List,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):277:277 -> runPerRule
+    1:2:boolean satisfyAccessFlag(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):761:762 -> satisfyAccessFlag
+    1:1:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):766:766 -> satisfyAnnotation
+    1:1:boolean satisfyClassType(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):757:757 -> satisfyClassType
+    1:6:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):778:783 -> satisfyExtendsRule
+    1:6:boolean satisfyImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):810:815 -> satisfyImplementsRule
+    1:5:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):770:774 -> satisfyInheritanceRule
+    1:10:com.android.tools.r8.graph.DexDefinition testAndGetPrecondition(com.android.tools.r8.graph.DexDefinition,java.util.Map):431:440 -> testAndGetPrecondition
+    1:56:void writeSeeds(com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,java.util.function.Predicate):698:753 -> writeSeeds
 com.android.tools.r8.shaking.RootSetBuilder$1 -> com.android.tools.r8.shaking.RootSetBuilder$1:
-    1:1:void <clinit>():1240:1240 -> <clinit>
-    2:2:void <clinit>():1225:1225 -> <clinit>
-    3:3:void <clinit>():1188:1188 -> <clinit>
-    4:4:void <clinit>():1177:1177 -> <clinit>
-    5:5:void <clinit>():1165:1165 -> <clinit>
-    6:6:void <clinit>():1133:1133 -> <clinit>
-    7:7:void <clinit>():171:171 -> <clinit>
+    1:1:void <clinit>():1253:1253 -> <clinit>
+    2:2:void <clinit>():1238:1238 -> <clinit>
+    3:3:void <clinit>():1201:1201 -> <clinit>
+    4:4:void <clinit>():1190:1190 -> <clinit>
+    5:5:void <clinit>():1178:1178 -> <clinit>
+    6:6:void <clinit>():1146:1146 -> <clinit>
+    7:7:void <clinit>():175:175 -> <clinit>
 com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet -> com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet:
-    1:1:void <init>(java.util.Set,java.util.Set,java.util.Map,java.util.Set,java.util.Map,java.util.Map,java.util.List):1762:1762 -> <init>
-    1:1:void forEachClassWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):1752:1752 -> forEachClassWithDependentItems
-    1:1:void forEachDependentInstanceConstructor(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1752:1752 -> forEachDependentInstanceConstructor
-    1:1:void forEachDependentNonStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1752:1752 -> forEachDependentNonStaticMember
-    1:1:void forEachDependentStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1752:1752 -> forEachDependentStaticMember
-    1:1:void forEachMemberWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):1752:1752 -> forEachMemberWithDependentItems
-    1:1:boolean noShrinking(com.android.tools.r8.graph.DexReference):1752:1752 -> noShrinking
+    1:1:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.shaking.RootSetBuilder$MutableItemsWithRules,java.util.Set,java.util.Map,java.util.Map,java.util.List):2052:2052 -> <init>
+    1:1:void forEachClassWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):2042:2042 -> forEachClassWithDependentItems
+    1:1:void forEachDependentInstanceConstructor(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.BiConsumer):2042:2042 -> forEachDependentInstanceConstructor
+    1:1:void forEachDependentMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):2042:2042 -> forEachDependentMember
+    1:1:void forEachDependentNonStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):2042:2042 -> forEachDependentNonStaticMember
+    1:1:void forEachDependentStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):2042:2042 -> forEachDependentStaticMember
+    1:1:void forEachMemberWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer):2042:2042 -> forEachMemberWithDependentItems
+com.android.tools.r8.shaking.RootSetBuilder$ItemsWithRules -> com.android.tools.r8.shaking.RootSetBuilder$ItemsWithRules:
+    1:1:void <init>():1408:1408 -> <init>
+    1:1:boolean containsReference(com.android.tools.r8.graph.DexReference):1421:1421 -> containsReference
+    1:1:com.android.tools.r8.shaking.RootSetBuilder$ItemsWithRules empty():1411:1411 -> empty
+    1:1:java.util.Set getRulesForReference(com.android.tools.r8.graph.DexReference):1450:1450 -> getRulesForReference
+com.android.tools.r8.shaking.RootSetBuilder$MutableItemsWithRules -> com.android.tools.r8.shaking.RootSetBuilder$MutableItemsWithRules:
+    1:3:void <clinit>():1457:1459 -> <clinit>
+    1:1:void <init>():1466:1466 -> <init>
+    2:5:void <init>(java.util.Map,java.util.Map,java.util.Map):1472:1475 -> <init>
+    1:1:com.android.tools.r8.shaking.RootSetBuilder$ItemsWithRules access$800():1455:1455 -> access$800
+    1:3:void addAll(com.android.tools.r8.shaking.RootSetBuilder$ItemsWithRules):1479:1481 -> addAll
+    1:1:void addClassWithRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase):1485:1485 -> addClassWithRule
+    1:1:void addClassWithRules(com.android.tools.r8.graph.DexType,java.util.Set):1489:1489 -> addClassWithRules
+    1:1:void addFieldWithRule(com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.ProguardKeepRuleBase):1493:1493 -> addFieldWithRule
+    1:1:void addFieldWithRules(com.android.tools.r8.graph.DexField,java.util.Set):1497:1497 -> addFieldWithRules
+    1:1:void addMethodWithRule(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.ProguardKeepRuleBase):1501:1501 -> addMethodWithRule
+    1:1:void addMethodWithRules(com.android.tools.r8.graph.DexMethod,java.util.Set):1505:1505 -> addMethodWithRules
+    1:1:void addReferenceWithRule(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.ProguardKeepRuleBase):1509:1509 -> addReferenceWithRule
+    1:1:void addReferenceWithRules(com.android.tools.r8.graph.DexReference,java.util.Set):1514:1514 -> addReferenceWithRules
+    1:1:boolean containsClass(com.android.tools.r8.graph.DexType):1520:1520 -> containsClass
+    1:1:boolean containsField(com.android.tools.r8.graph.DexField):1525:1525 -> containsField
+    1:1:boolean containsMethod(com.android.tools.r8.graph.DexMethod):1530:1530 -> containsMethod
+    1:1:void forEachClass(java.util.function.Consumer):1535:1535 -> forEachClass
+    2:2:void forEachClass(java.util.function.BiConsumer):1540:1540 -> forEachClass
+    1:1:void forEachField(java.util.function.Consumer):1545:1545 -> forEachField
+    2:2:void forEachField(java.util.function.BiConsumer):1550:1550 -> forEachField
+    1:2:void forEachMember(java.util.function.Consumer):1555:1556 -> forEachMember
+    3:4:void forEachMember(java.util.function.BiConsumer):1561:1562 -> forEachMember
+    1:1:void forEachMethod(java.util.function.Consumer):1567:1567 -> forEachMethod
+    2:2:void forEachMethod(java.util.function.BiConsumer):1572:1572 -> forEachMethod
+    1:1:java.util.Set getRulesForClass(com.android.tools.r8.graph.DexType):1577:1577 -> getRulesForClass
+    1:1:java.util.Set getRulesForField(com.android.tools.r8.graph.DexField):1582:1582 -> getRulesForField
+    1:1:java.util.Set getRulesForMethod(com.android.tools.r8.graph.DexMethod):1587:1587 -> getRulesForMethod
+    1:1:java.util.Set lambda$addClassWithRule$0(com.android.tools.r8.graph.DexType):1485:1485 -> lambda$addClassWithRule$0
+    1:1:java.util.Set lambda$addClassWithRules$1(com.android.tools.r8.graph.DexType):1489:1489 -> lambda$addClassWithRules$1
+    1:1:java.util.Set lambda$addFieldWithRule$2(com.android.tools.r8.graph.DexField):1493:1493 -> lambda$addFieldWithRule$2
+    1:1:java.util.Set lambda$addFieldWithRules$3(com.android.tools.r8.graph.DexField):1497:1497 -> lambda$addFieldWithRules$3
+    1:1:java.util.Set lambda$addMethodWithRule$4(com.android.tools.r8.graph.DexMethod):1501:1501 -> lambda$addMethodWithRule$4
+    1:1:java.util.Set lambda$addMethodWithRules$5(com.android.tools.r8.graph.DexMethod):1505:1505 -> lambda$addMethodWithRules$5
+    1:3:void putAll(com.android.tools.r8.shaking.RootSetBuilder$ItemsWithRules):1607:1609 -> putAll
+    1:1:void putClassWithRules(com.android.tools.r8.graph.DexType,java.util.Set):1613:1613 -> putClassWithRules
+    1:1:void putFieldWithRules(com.android.tools.r8.graph.DexField,java.util.Set):1617:1617 -> putFieldWithRules
+    1:1:void putMethodWithRules(com.android.tools.r8.graph.DexMethod,java.util.Set):1621:1621 -> putMethodWithRules
+    1:1:void putReferenceWithRules(com.android.tools.r8.graph.DexReference,java.util.Set):1625:1625 -> putReferenceWithRules
+    1:1:void removeClass(com.android.tools.r8.graph.DexType):1591:1591 -> removeClass
+    1:1:void removeField(com.android.tools.r8.graph.DexField):1595:1595 -> removeField
+    1:1:void removeMethod(com.android.tools.r8.graph.DexMethod):1599:1599 -> removeMethod
+    1:1:void removeReference(com.android.tools.r8.graph.DexReference):1603:1603 -> removeReference
+    1:1:int size():1630:1630 -> size
 com.android.tools.r8.shaking.RootSetBuilder$RootSet -> com.android.tools.r8.shaking.RootSetBuilder$RootSet:
-    1:1:void <clinit>():1379:1379 -> <clinit>
-    1:1:void <init>(java.util.Map,java.util.Set,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.shaking.RootSetBuilder$1):1379:1379 -> <init>
-    2:27:void <init>(java.util.Map,java.util.Set,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.List):1426:1451 -> <init>
-    1:13:void addConsequentRootSet(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,boolean):1471:1483 -> addConsequentRootSet
-    1:1:void addDependentItems(java.util.Map):1489:1489 -> addDependentItems
-    1:9:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1455:1463 -> checkAllRulesAreUsed
-    1:11:void copy(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):1497:1507 -> copy
-    1:1:void forEachClassWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):1379:1379 -> forEachClassWithDependentItems
-    1:1:void forEachDependentInstanceConstructor(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1379:1379 -> forEachDependentInstanceConstructor
-    1:1:void forEachDependentNonStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1379:1379 -> forEachDependentNonStaticMember
-    1:1:void forEachDependentStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1379:1379 -> forEachDependentStaticMember
-    1:1:void forEachMemberWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):1379:1379 -> forEachMemberWithDependentItems
-    1:9:boolean isKeptDirectlyOrIndirectly(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.AppInfoWithLiveness):1632:1640 -> isKeptDirectlyOrIndirectly
-    1:1:java.util.Set lambda$addConsequentRootSet$0(com.android.tools.r8.graph.DexReference):1476:1476 -> lambda$addConsequentRootSet$0
-    1:1:void lambda$addConsequentRootSet$1(com.android.tools.r8.graph.DexReference,java.util.Set):1476:1476 -> lambda$addConsequentRootSet$1
-    1:1:java.util.Set lambda$addConsequentRootSet$2(com.android.tools.r8.graph.DexType):1482:1482 -> lambda$addConsequentRootSet$2
-    1:2:void lambda$addConsequentRootSet$3(com.android.tools.r8.graph.DexType,java.util.Set):1481:1482 -> lambda$addConsequentRootSet$3
-    1:1:java.util.Map lambda$addDependentItems$4(com.android.tools.r8.graph.DexReference):1492:1492 -> lambda$addDependentItems$4
-    1:2:void lambda$addDependentItems$5(com.android.tools.r8.graph.DexReference,java.util.Map):1492:1493 -> lambda$addDependentItems$5
-    1:23:boolean lambda$pruneDeadReferences$6(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexReference):1530:1552 -> lambda$pruneDeadReferences$6
-    1:1:void lambda$toString$8(java.lang.StringBuilder,com.android.tools.r8.graph.DexReference):1744:1744 -> lambda$toString$8
-    1:1:java.util.Set lambda$verifyKeptItemsAreKept$7(com.android.tools.r8.graph.DexType):1665:1665 -> lambda$verifyKeptItemsAreKept$7
-    1:1:boolean mayBeMinified(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):1567:1567 -> mayBeMinified
-    1:3:boolean mayNotBeMinified(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):1571:1573 -> mayNotBeMinified
-    4:8:boolean mayNotBeMinified(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):1572:1576 -> mayNotBeMinified
-    9:14:boolean mayNotBeMinified(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):1575:1580 -> mayNotBeMinified
-    15:15:boolean mayNotBeMinified(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):1579:1579 -> mayNotBeMinified
-    1:2:void move(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):1558:1559 -> move
-    1:1:boolean noShrinking(com.android.tools.r8.graph.DexReference):1379:1379 -> noShrinking
-    1:4:void prune(com.android.tools.r8.graph.DexReference):1512:1515 -> prune
-    1:3:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1519:1521 -> pruneDeadItems
-    1:1:void pruneDeadReferences(java.util.Set,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1528:1528 -> pruneDeadReferences
-    1:1:void shouldNotBeMinified(com.android.tools.r8.graph.DexReference):1563:1563 -> shouldNotBeMinified
-    1:20:java.lang.String toString():1727:1746 -> toString
-    1:4:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.shaking.AppInfoWithLiveness):1585:1588 -> verifyKeptFieldsAreAccessedAndLive
-    5:5:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> verifyKeptFieldsAreAccessedAndLive
-    5:5:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.shaking.AppInfoWithLiveness):1590 -> verifyKeptFieldsAreAccessedAndLive
-    6:10:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.shaking.AppInfoWithLiveness):1590:1594 -> verifyKeptFieldsAreAccessedAndLive
-    1:73:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppInfo):1647:1719 -> verifyKeptItemsAreKept
-    1:11:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.shaking.AppInfoWithLiveness):1602:1612 -> verifyKeptMethodsAreTargetedAndLive
-    1:5:boolean verifyKeptTypesAreLive(com.android.tools.r8.shaking.AppInfoWithLiveness):1621:1625 -> verifyKeptTypesAreLive
+    1:1:void <clinit>():1694:1694 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.shaking.RootSetBuilder$MutableItemsWithRules,java.util.Set,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.shaking.RootSetBuilder$1):1694:1694 -> <init>
+    2:27:void <init>(com.android.tools.r8.shaking.RootSetBuilder$MutableItemsWithRules,java.util.Set,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.List):1741:1766 -> <init>
+    1:12:void addConsequentRootSet(com.android.tools.r8.shaking.RootSetBuilder$ConsequentRootSet,boolean):1786:1797 -> addConsequentRootSet
+    1:1:void addDependentItems(java.util.Map):1802:1802 -> addDependentItems
+    1:9:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1770:1778 -> checkAllRulesAreUsed
+    1:11:void copy(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):1810:1820 -> copy
+    1:1:void forEachClassWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):1694:1694 -> forEachClassWithDependentItems
+    1:1:void forEachDependentInstanceConstructor(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.BiConsumer):1694:1694 -> forEachDependentInstanceConstructor
+    1:1:void forEachDependentMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1694:1694 -> forEachDependentMember
+    1:1:void forEachDependentNonStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1694:1694 -> forEachDependentNonStaticMember
+    1:1:void forEachDependentStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1694:1694 -> forEachDependentStaticMember
+    1:1:void forEachMemberWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer):1694:1694 -> forEachMemberWithDependentItems
+    1:9:boolean isKeptDirectlyOrIndirectly(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.AppInfoWithLiveness):1939:1947 -> isKeptDirectlyOrIndirectly
+    1:1:java.util.Set lambda$addConsequentRootSet$0(com.android.tools.r8.graph.DexType):1796:1796 -> lambda$addConsequentRootSet$0
+    1:2:void lambda$addConsequentRootSet$1(com.android.tools.r8.graph.DexType,java.util.Set):1795:1796 -> lambda$addConsequentRootSet$1
+    1:1:com.android.tools.r8.shaking.RootSetBuilder$MutableItemsWithRules lambda$addDependentItems$2(com.android.tools.r8.graph.DexReference):1805:1805 -> lambda$addDependentItems$2
+    1:2:void lambda$addDependentItems$3(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.RootSetBuilder$ItemsWithRules):1805:1806 -> lambda$addDependentItems$3
+    1:23:boolean lambda$pruneDeadReferences$4(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexReference):1843:1865 -> lambda$pruneDeadReferences$4
+    1:2:void lambda$verifyKeptFieldsAreAccessedAndLive$5(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexField):1899:1900 -> lambda$verifyKeptFieldsAreAccessedAndLive$5
+    3:3:boolean com.android.tools.r8.graph.DexEncodedField.isStatic():139:139 -> lambda$verifyKeptFieldsAreAccessedAndLive$5
+    3:3:void lambda$verifyKeptFieldsAreAccessedAndLive$5(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexField):1902 -> lambda$verifyKeptFieldsAreAccessedAndLive$5
+    4:8:void lambda$verifyKeptFieldsAreAccessedAndLive$5(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexField):1902:1906 -> lambda$verifyKeptFieldsAreAccessedAndLive$5
+    1:1:java.util.Set lambda$verifyKeptItemsAreKept$10(com.android.tools.r8.graph.DexType):1966:1966 -> lambda$verifyKeptItemsAreKept$10
+    1:5:void lambda$verifyKeptItemsAreKept$11(com.android.tools.r8.graph.AppInfo,java.util.Map,com.android.tools.r8.graph.DexMember):1963:1967 -> lambda$verifyKeptItemsAreKept$11
+    1:1:java.util.Set lambda$verifyKeptItemsAreKept$8(com.android.tools.r8.graph.DexType):1959:1959 -> lambda$verifyKeptItemsAreKept$8
+    1:3:void lambda$verifyKeptItemsAreKept$9(com.android.tools.r8.graph.AppInfo,java.util.Map,com.android.tools.r8.graph.DexType):1957:1959 -> lambda$verifyKeptItemsAreKept$9
+    1:8:void lambda$verifyKeptMethodsAreTargetedAndLive$6(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexMethod):1915:1922 -> lambda$verifyKeptMethodsAreTargetedAndLive$6
+    1:2:void lambda$verifyKeptTypesAreLive$7(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexType):1932:1933 -> lambda$verifyKeptTypesAreLive$7
+    1:1:boolean mayBeMinified(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):1879:1879 -> mayBeMinified
+    1:3:boolean mayNotBeMinified(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):1883:1885 -> mayNotBeMinified
+    4:8:boolean mayNotBeMinified(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):1884:1888 -> mayNotBeMinified
+    9:14:boolean mayNotBeMinified(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):1887:1892 -> mayNotBeMinified
+    15:15:boolean mayNotBeMinified(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.AppView):1891:1891 -> mayNotBeMinified
+    1:2:void move(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):1870:1871 -> move
+    1:4:void prune(com.android.tools.r8.graph.DexReference):1825:1828 -> prune
+    1:3:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1832:1834 -> pruneDeadItems
+    1:1:void pruneDeadReferences(java.util.Set,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1841:1841 -> pruneDeadReferences
+    1:1:void shouldNotBeMinified(com.android.tools.r8.graph.DexReference):1875:1875 -> shouldNotBeMinified
+    1:12:java.lang.String toString():2025:2036 -> toString
+    1:1:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.shaking.AppInfoWithLiveness):1897:1897 -> verifyKeptFieldsAreAccessedAndLive
+    1:64:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppInfo):1954:2017 -> verifyKeptItemsAreKept
+    1:1:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.shaking.AppInfoWithLiveness):1913:1913 -> verifyKeptMethodsAreTargetedAndLive
+    1:1:boolean verifyKeptTypesAreLive(com.android.tools.r8.shaking.AppInfoWithLiveness):1930:1930 -> verifyKeptTypesAreLive
 com.android.tools.r8.shaking.RootSetBuilder$RootSetBase -> com.android.tools.r8.shaking.RootSetBuilder$RootSetBase:
-    1:8:void <init>(java.util.Set,java.util.Set,java.util.Map,java.util.Set,java.util.Map,java.util.Map,java.util.List):1279:1286 -> <init>
-    1:6:void forEachClassWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):1295:1300 -> forEachClassWithDependentItems
-    1:2:void forEachDependentInstanceConstructor(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1322:1323 -> forEachDependentInstanceConstructor
-    1:2:void forEachDependentNonStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1343:1344 -> forEachDependentNonStaticMember
-    1:2:void forEachDependentStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1359:1360 -> forEachDependentStaticMember
-    1:5:void forEachMemberWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):1308:1312 -> forEachMemberWithDependentItems
-    1:3:java.util.Map getDependentItems(com.android.tools.r8.graph.DexDefinition):1370:1370 -> getDependentItems
-    1:1:java.util.Set getDependentKeepClassCompatRule(com.android.tools.r8.graph.DexType):1375:1375 -> getDependentKeepClassCompatRule
-    1:8:void lambda$forEachDependentInstanceConstructor$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexReference,java.util.Set):1325:1332 -> lambda$forEachDependentInstanceConstructor$0
-    1:1:com.android.tools.r8.graph.DexDefinition com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexReference):231:231 -> lambda$forEachDependentNonStaticMember$1
-    1:1:void lambda$forEachDependentNonStaticMember$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexReference,java.util.Set):1346 -> lambda$forEachDependentNonStaticMember$1
-    2:4:void lambda$forEachDependentNonStaticMember$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexReference,java.util.Set):1348:1350 -> lambda$forEachDependentNonStaticMember$1
-    1:1:com.android.tools.r8.graph.DexDefinition com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexReference):231:231 -> lambda$forEachDependentStaticMember$2
-    1:1:void lambda$forEachDependentStaticMember$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexReference,java.util.Set):1362 -> lambda$forEachDependentStaticMember$2
-    2:3:void lambda$forEachDependentStaticMember$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexReference,java.util.Set):1363:1364 -> lambda$forEachDependentStaticMember$2
-    1:1:boolean noShrinking(com.android.tools.r8.graph.DexReference):1290:1290 -> noShrinking
+    1:8:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.shaking.RootSetBuilder$MutableItemsWithRules,java.util.Set,java.util.Map,java.util.Map,java.util.List):1292:1299 -> <init>
+    1:6:void forEachClassWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):1304:1309 -> forEachClassWithDependentItems
+    1:2:void forEachDependentInstanceConstructor(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.BiConsumer):1338:1339 -> forEachDependentInstanceConstructor
+    1:2:void forEachDependentMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1356:1357 -> forEachDependentMember
+    1:1:void forEachDependentNonStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1374:1374 -> forEachDependentNonStaticMember
+    1:1:void forEachDependentStaticMember(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3):1388:1388 -> forEachDependentStaticMember
+    1:1:void forEachMemberWithDependentItems(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer):1318:1318 -> forEachMemberWithDependentItems
+    1:2:com.android.tools.r8.shaking.RootSetBuilder$ItemsWithRules getDependentItems(com.android.tools.r8.graph.DexDefinition):1399:1400 -> getDependentItems
+    1:1:java.util.Set getDependentKeepClassCompatRule(com.android.tools.r8.graph.DexType):1404:1404 -> getDependentKeepClassCompatRule
+    1:5:void lambda$forEachDependentInstanceConstructor$1(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,com.android.tools.r8.graph.DexMethod,java.util.Set):1342:1346 -> lambda$forEachDependentInstanceConstructor$1
+    1:5:void lambda$forEachDependentMember$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Consumer3,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexMember,java.util.Set):1360:1364 -> lambda$forEachDependentMember$2
+    1:2:void lambda$forEachDependentNonStaticMember$3(com.android.tools.r8.utils.Consumer3,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexDefinition,java.util.Set):1378:1379 -> lambda$forEachDependentNonStaticMember$3
+    1:2:void lambda$forEachDependentStaticMember$4(com.android.tools.r8.utils.Consumer3,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexDefinition,java.util.Set):1392:1393 -> lambda$forEachDependentStaticMember$4
+    1:8:void lambda$forEachMemberWithDependentItems$0(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.RootSetBuilder$MutableItemsWithRules):1320:1327 -> lambda$forEachMemberWithDependentItems$0
 com.android.tools.r8.shaking.RootSetBuilder$SynthesizeMissingInterfaceMethodsForMemberRules -> com.android.tools.r8.shaking.RootSetBuilder$SynthesizeMissingInterfaceMethodsForMemberRules:
-    1:1:void <clinit>():495:495 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.shaking.RootSetBuilder,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.shaking.RootSetBuilder$1):495:495 -> <init>
-    2:2:void <init>(com.android.tools.r8.shaking.RootSetBuilder,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):509:509 -> <init>
-    3:18:void <init>(com.android.tools.r8.shaking.RootSetBuilder,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):501:516 -> <init>
-    1:3:void lambda$tryAndKeepMethodOnClass$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetBuilder):586:588 -> lambda$tryAndKeepMethodOnClass$0
+    1:1:void <clinit>():500:500 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.shaking.RootSetBuilder,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.shaking.RootSetBuilder$1):500:500 -> <init>
+    2:2:void <init>(com.android.tools.r8.shaking.RootSetBuilder,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):514:514 -> <init>
+    3:18:void <init>(com.android.tools.r8.shaking.RootSetBuilder,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):506:521 -> <init>
+    1:3:void lambda$tryAndKeepMethodOnClass$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetBuilder):591:593 -> lambda$tryAndKeepMethodOnClass$0
     4:4:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> lambda$tryAndKeepMethodOnClass$0
-    4:4:void lambda$tryAndKeepMethodOnClass$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetBuilder):587 -> lambda$tryAndKeepMethodOnClass$0
-    5:7:void lambda$tryAndKeepMethodOnClass$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetBuilder):595:597 -> lambda$tryAndKeepMethodOnClass$0
-    8:8:void lambda$tryAndKeepMethodOnClass$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetBuilder):596:596 -> lambda$tryAndKeepMethodOnClass$0
-    1:1:void run():524:524 -> run
-    1:25:void tryAndKeepMethodOnClass(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.ProguardMemberRule):557:581 -> tryAndKeepMethodOnClass
-    1:1:void visitAllSuperInterfaces(com.android.tools.r8.graph.DexType):528:528 -> visitAllSuperInterfaces
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> visitAllSuperInterfaces
-    2:2:void visitAllSuperInterfaces(com.android.tools.r8.graph.DexType):528 -> visitAllSuperInterfaces
-    3:24:void visitAllSuperInterfaces(com.android.tools.r8.graph.DexType):529:550 -> visitAllSuperInterfaces
+    4:4:void lambda$tryAndKeepMethodOnClass$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetBuilder):592 -> lambda$tryAndKeepMethodOnClass$0
+    5:7:void lambda$tryAndKeepMethodOnClass$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetBuilder):600:602 -> lambda$tryAndKeepMethodOnClass$0
+    8:8:void lambda$tryAndKeepMethodOnClass$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetBuilder):601:601 -> lambda$tryAndKeepMethodOnClass$0
+    1:1:void run():529:529 -> run
+    1:25:void tryAndKeepMethodOnClass(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.ProguardMemberRule):562:586 -> tryAndKeepMethodOnClass
+    1:1:void visitAllSuperInterfaces(com.android.tools.r8.graph.DexType):533:533 -> visitAllSuperInterfaces
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> visitAllSuperInterfaces
+    2:2:void visitAllSuperInterfaces(com.android.tools.r8.graph.DexType):533 -> visitAllSuperInterfaces
+    3:24:void visitAllSuperInterfaces(com.android.tools.r8.graph.DexType):534:555 -> visitAllSuperInterfaces
 com.android.tools.r8.shaking.ScopedDexMethodSet -> com.android.tools.r8.shaking.ScopedDexMethodSet:
     1:1:void <clinit>():22:22 -> <clinit>
     1:1:void <init>():28:28 -> <init>
@@ -64679,44 +65097,44 @@
     2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.TreePrunerConfiguration):47:47 -> <init>
     3:20:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.TreePrunerConfiguration):40:57 -> <init>
     1:1:void claimNestOwnership(com.android.tools.r8.graph.DexClass):216:216 -> claimNestOwnership
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> claimNestOwnership
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> claimNestOwnership
     2:2:void claimNestOwnership(com.android.tools.r8.graph.DexClass):216 -> claimNestOwnership
     3:6:void claimNestOwnership(com.android.tools.r8.graph.DexClass):221:224 -> claimNestOwnership
-    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> claimNestOwnership
+    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> claimNestOwnership
     7:7:void claimNestOwnership(com.android.tools.r8.graph.DexClass):224 -> claimNestOwnership
     8:14:void claimNestOwnership(com.android.tools.r8.graph.DexClass):226:232 -> claimNestOwnership
     1:2:void clearDeadNestMembers(com.android.tools.r8.graph.DexClass):208:209 -> clearDeadNestMembers
     1:2:int firstUnreachableIndex(java.util.List,java.util.function.Predicate):255:256 -> firstUnreachableIndex
-    1:1:java.util.Collection getMethodsToKeepForConfigurationDebugging():367:367 -> getMethodsToKeepForConfigurationDebugging
+    1:1:java.util.Collection getMethodsToKeepForConfigurationDebugging():366:366 -> getMethodsToKeepForConfigurationDebugging
     1:39:java.util.List getNewProgramClasses(java.util.List):78:116 -> getNewProgramClasses
-    1:1:java.util.Set getRemovedClasses():363:363 -> getRemovedClasses
+    1:1:java.util.Set getRemovedClasses():362:362 -> getRemovedClasses
     1:4:boolean isAttributeReferencingPrunedItem(com.android.tools.r8.graph.EnclosingMethodAttribute):238:241 -> isAttributeReferencingPrunedItem
     1:6:boolean isAttributeReferencingPrunedType(com.android.tools.r8.graph.InnerClassAttribute):245:250 -> isAttributeReferencingPrunedType
     1:1:boolean isTypeLive(com.android.tools.r8.graph.DexType):202:202 -> isTypeLive
     1:1:boolean lambda$clearDeadNestMembers$1(com.android.tools.r8.graph.NestMemberClassAttribute):211:211 -> lambda$clearDeadNestMembers$1
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> lambda$clearDeadNestMembers$1
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> lambda$clearDeadNestMembers$1
     2:2:boolean lambda$clearDeadNestMembers$1(com.android.tools.r8.graph.NestMemberClassAttribute):211 -> lambda$clearDeadNestMembers$1
     3:3:boolean lambda$clearDeadNestMembers$1(com.android.tools.r8.graph.NestMemberClassAttribute):212:212 -> lambda$clearDeadNestMembers$1
     1:1:void lambda$new$0(com.android.tools.r8.utils.InternalOptions,java.lang.String):55:55 -> lambda$new$0
-    1:1:boolean lambda$reachableFields$3(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):332:332 -> lambda$reachableFields$3
+    1:1:boolean lambda$reachableFields$3(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):331:331 -> lambda$reachableFields$3
     1:1:boolean lambda$reachableMethods$2(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedMethod):271:271 -> lambda$reachableMethods$2
     1:23:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):162:184 -> pruneMembersAndAttributes
     1:20:void pruneUnusedInterfaces(com.android.tools.r8.graph.DexProgramClass):125:144 -> pruneUnusedInterfaces
-    1:30:com.android.tools.r8.graph.DexEncodedField[] reachableFields(java.util.List):330:359 -> reachableFields
+    1:30:com.android.tools.r8.graph.DexEncodedField[] reachableFields(java.util.List):329:358 -> reachableFields
     1:6:java.util.List com.android.tools.r8.utils.IterableUtils.ensureUnmodifiableList(java.lang.Iterable):16:21 -> reachableMethods
     1:6:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.lang.Iterable,com.android.tools.r8.graph.DexClass):264 -> reachableMethods
     7:7:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.lang.Iterable,com.android.tools.r8.graph.DexClass):264:264 -> reachableMethods
     8:29:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexClass):268:289 -> reachableMethods
-    30:48:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexClass):286:304 -> reachableMethods
-    49:49:boolean com.android.tools.r8.graph.DexEncodedMethod.isFinal():330:330 -> reachableMethods
-    49:49:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexClass):305 -> reachableMethods
-    50:61:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexClass):305:316 -> reachableMethods
-    62:73:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexClass):315:326 -> reachableMethods
+    30:47:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexClass):286:303 -> reachableMethods
+    48:48:boolean com.android.tools.r8.graph.DexEncodedMethod.isFinal():330:330 -> reachableMethods
+    48:48:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexClass):304 -> reachableMethods
+    49:60:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexClass):304:315 -> reachableMethods
+    61:72:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexClass):314:325 -> reachableMethods
     1:2:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):73:74 -> removeUnused
     1:8:void retainReachableInterfacesFrom(com.android.tools.r8.graph.DexType,java.util.Set):149:156 -> retainReachableInterfacesFrom
     1:9:void rewriteNestAttributes(com.android.tools.r8.graph.DexProgramClass):188:196 -> rewriteNestAttributes
     1:7:com.android.tools.r8.graph.DirectMappedDexApplication run(com.android.tools.r8.graph.DirectMappedDexApplication):61:67 -> run
-    1:3:boolean verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):371:373 -> verifyNoDeadFields
+    1:3:boolean verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):370:372 -> verifyNoDeadFields
 com.android.tools.r8.shaking.UnusedArgumentRule -> com.android.tools.r8.shaking.UnusedArgumentRule:
     1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.UnusedArgumentRule$1):10:10 -> <init>
     2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
@@ -64741,71 +65159,71 @@
 com.android.tools.r8.shaking.UsagePrinter$NoOpUsagePrinter -> com.android.tools.r8.shaking.UsagePrinter$NoOpUsagePrinter:
     1:1:void <init>():96:96 -> <init>
 com.android.tools.r8.shaking.VerticalClassMerger -> com.android.tools.r8.shaking.VerticalClassMerger:
-    1:1:void <clinit>():96:96 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.shaking.MainDexClasses):228:228 -> <init>
-    2:42:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.shaking.MainDexClasses):201:241 -> <init>
-    1:1:java.util.Set access$000(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$000
-    1:1:com.android.tools.r8.graph.SubtypingInfo access$100(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$100
-    1:1:com.android.tools.r8.utils.Timing access$1000(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$1000
-    1:1:com.android.tools.r8.ir.optimize.MethodPoolCollection access$1100(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$1100
-    1:1:void access$1200(com.android.tools.r8.graph.DexEncodedMethod):96:96 -> access$1200
-    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedback access$1300(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$1300
-    1:1:java.util.Map access$1400(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$1400
-    1:1:java.util.Map access$1500(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$1500
-    1:1:com.android.tools.r8.graph.DexApplication access$1600(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$1600
-    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder access$1700(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$1700
-    1:1:java.util.List access$1800(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$1800
-    1:1:java.util.Collection access$1900(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$1900
-    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness access$200(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$200
-    1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$300
-    1:1:java.util.concurrent.ExecutorService access$900(com.android.tools.r8.shaking.VerticalClassMerger):96:96 -> access$900
-    1:9:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1672:1680 -> disallowInlining
-    10:22:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1677:1689 -> disallowInlining
-    23:31:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1688:1696 -> disallowInlining
-    1:18:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):306:323 -> extractPinnedItems
-    1:18:boolean fieldResolutionMayChange(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):865:882 -> fieldResolutionMayChange
+    1:1:void <clinit>():94:94 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.shaking.MainDexClasses):226:226 -> <init>
+    2:42:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.shaking.MainDexClasses):199:239 -> <init>
+    1:1:java.util.Set access$000(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$000
+    1:1:com.android.tools.r8.graph.SubtypingInfo access$100(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$100
+    1:1:com.android.tools.r8.utils.Timing access$1000(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$1000
+    1:1:com.android.tools.r8.ir.optimize.MethodPoolCollection access$1100(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$1100
+    1:1:void access$1200(com.android.tools.r8.graph.DexEncodedMethod):94:94 -> access$1200
+    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedback access$1300(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$1300
+    1:1:java.util.Map access$1400(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$1400
+    1:1:java.util.Map access$1500(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$1500
+    1:1:com.android.tools.r8.graph.DexApplication access$1600(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$1600
+    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder access$1700(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$1700
+    1:1:java.util.List access$1800(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$1800
+    1:1:java.util.Collection access$1900(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$1900
+    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness access$200(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$200
+    1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$300
+    1:1:java.util.concurrent.ExecutorService access$900(com.android.tools.r8.shaking.VerticalClassMerger):94:94 -> access$900
+    1:9:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1664:1672 -> disallowInlining
+    10:22:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1669:1681 -> disallowInlining
+    23:31:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1680:1688 -> disallowInlining
+    1:18:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):304:321 -> extractPinnedItems
+    1:18:boolean fieldResolutionMayChange(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):857:874 -> fieldResolutionMayChange
     1:4:java.util.Collection getInvokes():534:537 -> getInvokes
-    1:1:com.android.tools.r8.graph.classmerging.VerticallyMergedClasses getMergedClasses():245:245 -> getMergedClasses
-    1:1:java.util.Collection getRemovedClasses():2000:2000 -> getRemovedClasses
-    1:6:void initializeMergeCandidates(java.lang.Iterable):249:254 -> initializeMergeCandidates
-    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> initializeMergeCandidates
-    7:7:void initializeMergeCandidates(java.lang.Iterable):254 -> initializeMergeCandidates
-    8:21:void initializeMergeCandidates(java.lang.Iterable):254:267 -> initializeMergeCandidates
-    1:26:void initializePinnedTypes(java.lang.Iterable):276:301 -> initializePinnedTypes
-    1:12:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):347:358 -> isMergeCandidate
+    1:1:com.android.tools.r8.graph.classmerging.VerticallyMergedClasses getMergedClasses():243:243 -> getMergedClasses
+    1:1:java.util.Collection getRemovedClasses():1996:1996 -> getRemovedClasses
+    1:6:void initializeMergeCandidates(java.lang.Iterable):247:252 -> initializeMergeCandidates
+    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> initializeMergeCandidates
+    7:7:void initializeMergeCandidates(java.lang.Iterable):252 -> initializeMergeCandidates
+    8:21:void initializeMergeCandidates(java.lang.Iterable):252:265 -> initializeMergeCandidates
+    1:25:void initializePinnedTypes(java.lang.Iterable):275:299 -> initializePinnedTypes
+    1:12:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):345:356 -> isMergeCandidate
     13:13:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):433:433 -> isMergeCandidate
-    13:13:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):358 -> isMergeCandidate
-    14:17:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):358:358 -> isMergeCandidate
-    21:69:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):362:410 -> isMergeCandidate
-    70:71:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):401:402 -> isMergeCandidate
-    1:16:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):421:436 -> isStillMergeCandidate
-    17:56:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):435:474 -> isStillMergeCandidate
-    57:58:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):459:460 -> isStillMergeCandidate
-    59:60:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):440:441 -> isStillMergeCandidate
-    1:9:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):386:394 -> lambda$isMergeCandidate$0
-    1:1:boolean lambda$isStillMergeCandidate$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):436:436 -> lambda$isStillMergeCandidate$1
+    13:13:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):356 -> isMergeCandidate
+    14:17:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):356:356 -> isMergeCandidate
+    21:70:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):360:409 -> isMergeCandidate
+    71:72:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):400:401 -> isMergeCandidate
+    1:16:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):420:435 -> isStillMergeCandidate
+    17:57:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):434:474 -> isStillMergeCandidate
+    58:59:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):459:460 -> isStillMergeCandidate
+    60:61:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):439:440 -> isStillMergeCandidate
+    1:9:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):384:392 -> lambda$isMergeCandidate$0
+    1:1:boolean lambda$isStillMergeCandidate$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):435:435 -> lambda$isStillMergeCandidate$1
     1:6:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$2(com.android.tools.r8.shaking.VerticalClassMerger$IllegalAccessDetector,com.android.tools.r8.graph.ProgramMethod):523:528 -> lambda$mergeMayLeadToIllegalAccesses$2
-    1:7:void lambda$methodResolutionMayChange$3(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexClassAndMethod):766:772 -> lambda$methodResolutionMayChange$3
-    1:1:void lambda$methodResolutionMayChange$4(com.android.tools.r8.graph.LookupLambdaTarget):777:777 -> lambda$methodResolutionMayChange$4
-    1:4:void makePrivate(com.android.tools.r8.graph.DexEncodedMethod):1449:1452 -> makePrivate
-    1:10:void markTypeAsPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):330:339 -> markTypeAsPinned
-    1:6:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):789:794 -> mergeClassIfPossible
-    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> mergeClassIfPossible
-    7:7:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):794 -> mergeClassIfPossible
-    8:67:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):794:853 -> mergeClassIfPossible
-    68:78:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):849:859 -> mergeClassIfPossible
-    79:79:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):855:855 -> mergeClassIfPossible
-    80:80:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):840:840 -> mergeClassIfPossible
+    1:7:void lambda$methodResolutionMayChange$3(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexClassAndMethod):758:764 -> lambda$methodResolutionMayChange$3
+    1:1:void lambda$methodResolutionMayChange$4(com.android.tools.r8.graph.LookupLambdaTarget):769:769 -> lambda$methodResolutionMayChange$4
+    1:4:void makePrivate(com.android.tools.r8.graph.DexEncodedMethod):1441:1444 -> makePrivate
+    1:10:void markTypeAsPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):328:337 -> markTypeAsPinned
+    1:6:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):781:786 -> mergeClassIfPossible
+    7:7:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> mergeClassIfPossible
+    7:7:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):786 -> mergeClassIfPossible
+    8:67:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):786:845 -> mergeClassIfPossible
+    68:78:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):841:851 -> mergeClassIfPossible
+    79:79:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):847:847 -> mergeClassIfPossible
+    80:80:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):832:832 -> mergeClassIfPossible
     1:1:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):482:482 -> mergeMayLeadToIllegalAccesses
-    2:2:boolean com.android.tools.r8.graph.DexClass.isPrivate():520:520 -> mergeMayLeadToIllegalAccesses
+    2:2:boolean com.android.tools.r8.graph.DexClass.isPrivate():527:527 -> mergeMayLeadToIllegalAccesses
     2:2:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):486 -> mergeMayLeadToIllegalAccesses
-    3:3:boolean com.android.tools.r8.graph.DexClass.isPublic():524:524 -> mergeMayLeadToIllegalAccesses
+    3:3:boolean com.android.tools.r8.graph.DexClass.isPublic():531:531 -> mergeMayLeadToIllegalAccesses
     3:3:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):486 -> mergeMayLeadToIllegalAccesses
-    4:4:boolean com.android.tools.r8.graph.DexClass.isPrivate():520:520 -> mergeMayLeadToIllegalAccesses
+    4:4:boolean com.android.tools.r8.graph.DexClass.isPrivate():527:527 -> mergeMayLeadToIllegalAccesses
     4:4:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):487 -> mergeMayLeadToIllegalAccesses
-    5:5:boolean com.android.tools.r8.graph.DexClass.isPublic():524:524 -> mergeMayLeadToIllegalAccesses
+    5:5:boolean com.android.tools.r8.graph.DexClass.isPublic():531:531 -> mergeMayLeadToIllegalAccesses
     5:5:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):487 -> mergeMayLeadToIllegalAccesses
-    6:6:boolean com.android.tools.r8.graph.DexClass.isPublic():524:524 -> mergeMayLeadToIllegalAccesses
+    6:6:boolean com.android.tools.r8.graph.DexClass.isPublic():531:531 -> mergeMayLeadToIllegalAccesses
     6:6:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):496 -> mergeMayLeadToIllegalAccesses
     7:7:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):499:499 -> mergeMayLeadToIllegalAccesses
     8:8:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():155:155 -> mergeMayLeadToIllegalAccesses
@@ -64823,101 +65241,97 @@
     15:15:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():342:342 -> mergeMayLeadToIllegalAccesses
     15:15:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):511 -> mergeMayLeadToIllegalAccesses
     16:27:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):519:530 -> mergeMayLeadToIllegalAccesses
-    1:62:boolean methodResolutionMayChange(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):718:779 -> methodResolutionMayChange
+    1:62:boolean methodResolutionMayChange(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):710:771 -> methodResolutionMayChange
     1:12:com.android.tools.r8.shaking.VerticalClassMergerGraphLense run():633:644 -> run
-    1:6:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLense):649:649 -> verifyGraphLens
-    12:68:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLense):655:711 -> verifyGraphLens
+    1:29:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLense):675:703 -> verifyGraphLens
 com.android.tools.r8.shaking.VerticalClassMerger$1 -> com.android.tools.r8.shaking.VerticalClassMerger$1:
-    1:1:void <clinit>():1983:1983 -> <clinit>
-    2:2:void <clinit>():1389:1389 -> <clinit>
-    3:3:void <clinit>():124:124 -> <clinit>
+    1:1:void <clinit>():1979:1979 -> <clinit>
+    2:2:void <clinit>():1381:1381 -> <clinit>
+    3:3:void <clinit>():122:122 -> <clinit>
 com.android.tools.r8.shaking.VerticalClassMerger$AbortReason -> com.android.tools.r8.shaking.VerticalClassMerger$AbortReason:
-    1:20:void <clinit>():98:98 -> <clinit>
-    1:1:void <init>(java.lang.String,int):98:98 -> <init>
-    1:59:java.lang.String getMessageForClass(com.android.tools.r8.graph.DexClass):124:182 -> getMessageForClass
-    60:60:java.lang.String getMessageForClass(com.android.tools.r8.graph.DexClass):180:180 -> getMessageForClass
-    1:1:void printLogMessageForClass(com.android.tools.r8.graph.DexClass):119:119 -> printLogMessageForClass
-    1:1:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason valueOf(java.lang.String):98:98 -> valueOf
-    1:1:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason[] values():98:98 -> values
+    1:20:void <clinit>():96:96 -> <clinit>
+    1:1:void <init>(java.lang.String,int):96:96 -> <init>
+    1:59:java.lang.String getMessageForClass(com.android.tools.r8.graph.DexClass):122:180 -> getMessageForClass
+    60:60:java.lang.String getMessageForClass(com.android.tools.r8.graph.DexClass):178:178 -> getMessageForClass
+    1:1:void printLogMessageForClass(com.android.tools.r8.graph.DexClass):117:117 -> printLogMessageForClass
+    1:1:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason valueOf(java.lang.String):96:96 -> valueOf
+    1:1:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason[] values():96:96 -> values
 com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger -> com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger:
-    1:1:void <clinit>():893:893 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.VerticalClassMerger$1):893:893 -> <init>
-    2:2:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):905:905 -> <init>
-    3:11:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):899:907 -> <init>
-    1:1:void add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1297:1297 -> add
-    1:2:void addAll(java.util.Collection,java.lang.Iterable,com.android.tools.r8.com.google.common.base.Equivalence):1302:1303 -> addAll
-    1:1:void blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1221:1221 -> blockRedirectionOfSuperCalls
-    1:36:com.android.tools.r8.graph.DexEncodedMethod buildBridgeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1226:1261 -> buildBridgeMethod
-    1:21:com.android.tools.r8.graph.DexEncodedMethod findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1268:1288 -> findMethodInTarget
-    22:22:com.android.tools.r8.graph.DexEncodedMethod findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1283:1283 -> findMethodInTarget
-    1:5:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1340:1344 -> getFreshName
-    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder getRenamings():1134:1134 -> getRenamings
-    1:1:java.util.List getSynthesizedBridges():1138:1138 -> getSynthesizedBridges
-    1:4:boolean lambda$merge$0(java.util.Set,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexMethod):922:925 -> lambda$merge$0
-    1:3:boolean lambda$merge$1(java.util.function.Predicate,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexMethod):1004:1006 -> lambda$merge$1
-    4:4:boolean lambda$merge$1(java.util.function.Predicate,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexMethod):1005:1005 -> lambda$merge$1
-    1:1:boolean lambda$merge$2(java.util.Set,com.android.tools.r8.graph.DexField):1067:1067 -> lambda$merge$2
-    1:1:java.util.Set lambda$merge$3(com.android.tools.r8.graph.DexType):1111:1111 -> lambda$merge$3
-    1:2:void lambda$restoreDebuggingState$4(com.android.tools.r8.graph.DexEncodedMethod):1119:1120 -> lambda$restoreDebuggingState$4
-    1:2:void lambda$restoreDebuggingState$5(com.android.tools.r8.graph.DexEncodedMethod):1124:1125 -> lambda$restoreDebuggingState$5
-    1:1:boolean lambda$restoreDebuggingState$6(com.android.tools.r8.graph.DexEncodedMethod):1129:1129 -> lambda$restoreDebuggingState$6
-    1:5:void makeStatic(com.android.tools.r8.graph.DexEncodedMethod):1439:1443 -> makeStatic
-    1:26:boolean merge():914:939 -> merge
-    27:56:boolean merge():936:965 -> merge
-    57:76:boolean merge():964:983 -> merge
-    77:105:boolean merge():982:1010 -> merge
-    106:153:boolean merge():1001:1048 -> merge
-    154:179:boolean merge():1047:1072 -> merge
-    180:189:boolean merge():1070:1079 -> merge
-    190:225:boolean merge():1077:1112 -> merge
-    1:3:java.util.Set mergeArrays(java.lang.Object[],java.lang.Object[]):1308:1310 -> mergeArrays
-    1:13:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1319:1331 -> mergeFields
-    1:57:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):1142:1198 -> redirectSuperCallsInTarget
-    1:20:com.android.tools.r8.graph.DexEncodedMethod renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1349:1368 -> renameConstructor
-    1:16:com.android.tools.r8.graph.DexEncodedField renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1420:1435 -> renameFieldIfNeeded
-    1:1:com.android.tools.r8.graph.DexEncodedMethod renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename):1374:1374 -> renameMethod
-    2:30:com.android.tools.r8.graph.DexEncodedMethod renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename,com.android.tools.r8.graph.DexProto):1384:1412 -> renameMethod
-    31:55:com.android.tools.r8.graph.DexEncodedMethod renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename,com.android.tools.r8.graph.DexProto):1391:1415 -> renameMethod
-    1:13:boolean restoreDebuggingState(java.util.stream.Stream):1117:1129 -> restoreDebuggingState
-    14:14:boolean restoreDebuggingState(java.util.stream.Stream):1128:1128 -> restoreDebuggingState
+    1:1:void <clinit>():885:885 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.VerticalClassMerger$1):885:885 -> <init>
+    2:2:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):897:897 -> <init>
+    3:11:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):891:899 -> <init>
+    1:1:void add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1289:1289 -> add
+    1:2:void addAll(java.util.Collection,java.lang.Iterable,com.android.tools.r8.com.google.common.base.Equivalence):1294:1295 -> addAll
+    1:1:void blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1213:1213 -> blockRedirectionOfSuperCalls
+    1:36:com.android.tools.r8.graph.DexEncodedMethod buildBridgeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1218:1253 -> buildBridgeMethod
+    1:21:com.android.tools.r8.graph.DexEncodedMethod findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1260:1280 -> findMethodInTarget
+    22:22:com.android.tools.r8.graph.DexEncodedMethod findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1275:1275 -> findMethodInTarget
+    1:5:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1332:1336 -> getFreshName
+    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder getRenamings():1126:1126 -> getRenamings
+    1:1:java.util.List getSynthesizedBridges():1130:1130 -> getSynthesizedBridges
+    1:4:boolean lambda$merge$0(java.util.Set,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexMethod):914:917 -> lambda$merge$0
+    1:3:boolean lambda$merge$1(java.util.function.Predicate,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexMethod):996:998 -> lambda$merge$1
+    4:4:boolean lambda$merge$1(java.util.function.Predicate,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexMethod):997:997 -> lambda$merge$1
+    1:1:boolean lambda$merge$2(java.util.Set,com.android.tools.r8.graph.DexField):1059:1059 -> lambda$merge$2
+    1:1:java.util.Set lambda$merge$3(com.android.tools.r8.graph.DexType):1103:1103 -> lambda$merge$3
+    1:2:void lambda$restoreDebuggingState$4(com.android.tools.r8.graph.DexEncodedMethod):1111:1112 -> lambda$restoreDebuggingState$4
+    1:2:void lambda$restoreDebuggingState$5(com.android.tools.r8.graph.DexEncodedMethod):1116:1117 -> lambda$restoreDebuggingState$5
+    1:1:boolean lambda$restoreDebuggingState$6(com.android.tools.r8.graph.DexEncodedMethod):1121:1121 -> lambda$restoreDebuggingState$6
+    1:5:void makeStatic(com.android.tools.r8.graph.DexEncodedMethod):1431:1435 -> makeStatic
+    1:26:boolean merge():906:931 -> merge
+    27:56:boolean merge():928:957 -> merge
+    57:76:boolean merge():956:975 -> merge
+    77:105:boolean merge():974:1002 -> merge
+    106:153:boolean merge():993:1040 -> merge
+    154:179:boolean merge():1039:1064 -> merge
+    180:189:boolean merge():1062:1071 -> merge
+    190:225:boolean merge():1069:1104 -> merge
+    1:3:java.util.Set mergeArrays(java.lang.Object[],java.lang.Object[]):1300:1302 -> mergeArrays
+    1:13:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1311:1323 -> mergeFields
+    1:57:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):1134:1190 -> redirectSuperCallsInTarget
+    1:20:com.android.tools.r8.graph.DexEncodedMethod renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1341:1360 -> renameConstructor
+    1:16:com.android.tools.r8.graph.DexEncodedField renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1412:1427 -> renameFieldIfNeeded
+    1:1:com.android.tools.r8.graph.DexEncodedMethod renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename):1366:1366 -> renameMethod
+    2:30:com.android.tools.r8.graph.DexEncodedMethod renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename,com.android.tools.r8.graph.DexProto):1376:1404 -> renameMethod
+    31:55:com.android.tools.r8.graph.DexEncodedMethod renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename,com.android.tools.r8.graph.DexProto):1383:1407 -> renameMethod
+    1:13:boolean restoreDebuggingState(java.util.stream.Stream):1109:1121 -> restoreDebuggingState
+    14:14:boolean restoreDebuggingState(java.util.stream.Stream):1120:1120 -> restoreDebuggingState
 com.android.tools.r8.shaking.VerticalClassMerger$CollisionDetector -> com.android.tools.r8.shaking.VerticalClassMerger$CollisionDetector:
-    1:1:void <clinit>():1561:1561 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.VerticalClassMerger$1):1561:1561 -> <init>
-    2:2:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1572:1572 -> <init>
-    3:15:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1566:1578 -> <init>
-    1:32:int computePositionsFor(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1635:1666 -> computePositionsFor
-    1:18:void fillSeenPositions():1608:1625 -> fillSeenPositions
-    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap lambda$fillSeenPositions$0(com.android.tools.r8.graph.DexString):1615:1616 -> lambda$fillSeenPositions$0
-    1:22:boolean mayCollide():1582:1603 -> mayCollide
+    1:1:void <clinit>():1553:1553 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.VerticalClassMerger$1):1553:1553 -> <init>
+    2:2:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1564:1564 -> <init>
+    3:15:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1558:1570 -> <init>
+    1:32:int computePositionsFor(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1627:1658 -> computePositionsFor
+    1:18:void fillSeenPositions():1600:1617 -> fillSeenPositions
+    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap lambda$fillSeenPositions$0(com.android.tools.r8.graph.DexString):1607:1608 -> lambda$fillSeenPositions$0
+    1:22:boolean mayCollide():1574:1595 -> mayCollide
 com.android.tools.r8.shaking.VerticalClassMerger$IllegalAccessDetector -> com.android.tools.r8.shaking.VerticalClassMerger$IllegalAccessDetector:
-    1:1:void <clinit>():1781:1781 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):1790:1792 -> <init>
-    1:8:boolean checkFieldReference(com.android.tools.r8.graph.DexField):1804:1811 -> checkFieldReference
-    9:9:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexField):236:236 -> checkFieldReference
-    9:9:boolean checkFieldReference(com.android.tools.r8.graph.DexField):1811 -> checkFieldReference
-    10:11:boolean checkFieldReference(com.android.tools.r8.graph.DexField):1812:1813 -> checkFieldReference
-    1:10:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod):1821:1830 -> checkMethodReference
-    11:11:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexMethod):241:241 -> checkMethodReference
-    11:11:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod):1830 -> checkMethodReference
-    12:13:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod):1831:1832 -> checkMethodReference
-    1:5:boolean checkTypeReference(com.android.tools.r8.graph.DexType):1840:1844 -> checkTypeReference
-    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> checkTypeReference
-    6:6:boolean checkTypeReference(com.android.tools.r8.graph.DexType):1844 -> checkTypeReference
-    7:8:boolean checkTypeReference(com.android.tools.r8.graph.DexType):1845:1846 -> checkTypeReference
-    1:1:boolean foundIllegalAccess():1796:1796 -> foundIllegalAccess
-    1:1:boolean registerInitClass(com.android.tools.r8.graph.DexType):1855:1855 -> registerInitClass
-    1:1:boolean registerInstanceFieldRead(com.android.tools.r8.graph.DexField):1905:1905 -> registerInstanceFieldRead
-    1:1:boolean registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):1900:1900 -> registerInstanceFieldWrite
-    1:4:boolean registerInvokeDirect(com.android.tools.r8.graph.DexMethod):1868:1871 -> registerInvokeDirect
-    1:4:boolean registerInvokeInterface(com.android.tools.r8.graph.DexMethod):1884:1887 -> registerInvokeInterface
-    1:4:boolean registerInvokeStatic(com.android.tools.r8.graph.DexMethod):1876:1879 -> registerInvokeStatic
-    1:4:boolean registerInvokeSuper(com.android.tools.r8.graph.DexMethod):1892:1895 -> registerInvokeSuper
-    1:4:boolean registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):1860:1863 -> registerInvokeVirtual
-    1:1:boolean registerNewInstance(com.android.tools.r8.graph.DexType):1910:1910 -> registerNewInstance
-    1:1:boolean registerStaticFieldRead(com.android.tools.r8.graph.DexField):1915:1915 -> registerStaticFieldRead
-    1:1:boolean registerStaticFieldWrite(com.android.tools.r8.graph.DexField):1920:1920 -> registerStaticFieldWrite
-    1:1:boolean registerTypeReference(com.android.tools.r8.graph.DexType):1925:1925 -> registerTypeReference
-    1:1:void setContext(com.android.tools.r8.graph.ProgramMethod):1800:1800 -> setContext
+    1:1:void <clinit>():1773:1773 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):1782:1784 -> <init>
+    1:10:boolean checkFieldReference(com.android.tools.r8.graph.DexField):1796:1805 -> checkFieldReference
+    1:15:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):1813:1827 -> checkMethodReference
+    16:16:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():342:342 -> checkMethodReference
+    16:16:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):1827 -> checkMethodReference
+    17:17:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):1828:1828 -> checkMethodReference
+    1:5:boolean checkTypeReference(com.android.tools.r8.graph.DexType):1836:1840 -> checkTypeReference
+    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> checkTypeReference
+    6:6:boolean checkTypeReference(com.android.tools.r8.graph.DexType):1840 -> checkTypeReference
+    7:8:boolean checkTypeReference(com.android.tools.r8.graph.DexType):1841:1842 -> checkTypeReference
+    1:1:boolean foundIllegalAccess():1788:1788 -> foundIllegalAccess
+    1:1:boolean registerInitClass(com.android.tools.r8.graph.DexType):1851:1851 -> registerInitClass
+    1:1:boolean registerInstanceFieldRead(com.android.tools.r8.graph.DexField):1901:1901 -> registerInstanceFieldRead
+    1:1:boolean registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):1896:1896 -> registerInstanceFieldWrite
+    1:4:boolean registerInvokeDirect(com.android.tools.r8.graph.DexMethod):1864:1867 -> registerInvokeDirect
+    1:4:boolean registerInvokeInterface(com.android.tools.r8.graph.DexMethod):1880:1883 -> registerInvokeInterface
+    1:4:boolean registerInvokeStatic(com.android.tools.r8.graph.DexMethod):1872:1875 -> registerInvokeStatic
+    1:4:boolean registerInvokeSuper(com.android.tools.r8.graph.DexMethod):1888:1891 -> registerInvokeSuper
+    1:4:boolean registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):1856:1859 -> registerInvokeVirtual
+    1:1:boolean registerNewInstance(com.android.tools.r8.graph.DexType):1906:1906 -> registerNewInstance
+    1:1:boolean registerStaticFieldRead(com.android.tools.r8.graph.DexField):1911:1911 -> registerStaticFieldRead
+    1:1:boolean registerStaticFieldWrite(com.android.tools.r8.graph.DexField):1916:1916 -> registerStaticFieldWrite
+    1:1:boolean registerTypeReference(com.android.tools.r8.graph.DexType):1921:1921 -> registerTypeReference
+    1:1:void setContext(com.android.tools.r8.graph.ProgramMethod):1792:1792 -> setContext
 com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever -> com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever:
     1:1:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):548:548 -> <init>
     2:10:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):543:551 -> <init>
@@ -64926,92 +65340,87 @@
     1:15:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):598:612 -> protoMayReferenceMergedSourceOrTarget
     1:8:boolean typeMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexType):618:625 -> typeMayReferenceMergedSourceOrTarget
 com.android.tools.r8.shaking.VerticalClassMerger$Rename -> com.android.tools.r8.shaking.VerticalClassMerger$Rename:
-    1:3:void <clinit>():187:189 -> <clinit>
-    4:4:void <clinit>():186:186 -> <clinit>
-    1:1:void <init>(java.lang.String,int):186:186 -> <init>
-    1:1:com.android.tools.r8.shaking.VerticalClassMerger$Rename valueOf(java.lang.String):186:186 -> valueOf
-    1:1:com.android.tools.r8.shaking.VerticalClassMerger$Rename[] values():186:186 -> values
+    1:3:void <clinit>():185:187 -> <clinit>
+    4:4:void <clinit>():184:184 -> <clinit>
+    1:1:void <init>(java.lang.String,int):184:184 -> <init>
+    1:1:com.android.tools.r8.shaking.VerticalClassMerger$Rename valueOf(java.lang.String):184:184 -> valueOf
+    1:1:com.android.tools.r8.shaking.VerticalClassMerger$Rename[] values():184:184 -> values
 com.android.tools.r8.shaking.VerticalClassMerger$SingleTypeMapperGraphLense -> com.android.tools.r8.shaking.VerticalClassMerger$SingleTypeMapperGraphLense:
-    1:1:void <clinit>():1699:1699 -> <clinit>
-    1:3:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1704:1706 -> <init>
-    1:1:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):1716:1716 -> getOriginalFieldSignature
-    1:1:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):1721:1721 -> getOriginalMethodSignature
-    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):1711:1711 -> getOriginalType
-    1:1:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):1726:1726 -> getRenamedFieldSignature
-    1:1:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLense):1731:1731 -> getRenamedMethodSignature
-    1:1:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField):1770:1770 -> lookupField
-    1:18:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):1743:1760 -> lookupMethod
-    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):1765:1765 -> lookupPrototypeChanges
-    1:1:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):1736:1736 -> lookupType
+    1:1:void <clinit>():1691:1691 -> <clinit>
+    1:3:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1696:1698 -> <init>
+    1:1:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):1708:1708 -> getOriginalFieldSignature
+    1:1:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):1713:1713 -> getOriginalMethodSignature
+    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):1703:1703 -> getOriginalType
+    1:1:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):1718:1718 -> getRenamedFieldSignature
+    1:1:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLense):1723:1723 -> getRenamedMethodSignature
+    1:1:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField):1762:1762 -> lookupField
+    1:18:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):1735:1752 -> lookupMethod
+    1:1:com.android.tools.r8.graph.RewrittenPrototypeDescription lookupPrototypeChanges(com.android.tools.r8.graph.DexMethod):1757:1757 -> lookupPrototypeChanges
+    1:1:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):1728:1728 -> lookupType
 com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode -> com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode:
-    1:6:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):1942:1947 -> <init>
-    1:1:com.android.tools.r8.graph.DexMethod access$600(com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode):1929:1929 -> access$600
-    1:1:java.util.function.Consumer getRegistryCallback():1982:1982 -> getRegistryCallback
-    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():1968:1968 -> getSourceCodeProvider
+    1:6:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):1938:1943 -> <init>
+    1:1:com.android.tools.r8.graph.DexMethod access$600(com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode):1925:1925 -> access$600
+    1:1:java.util.function.Consumer getRegistryCallback():1978:1978 -> getRegistryCallback
+    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():1964:1964 -> getSourceCodeProvider
     2:26:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):0:24 -> getSourceCodeProvider
-    2:26:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():1969 -> getSourceCodeProvider
-    27:34:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():1970:1977 -> getSourceCodeProvider
-    1:11:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):1983:1993 -> lambda$getRegistryCallback$0
-    12:12:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):1985:1985 -> lambda$getRegistryCallback$0
-    1:2:void updateMethodSignatures(java.util.function.Function):1962:1963 -> updateMethodSignatures
+    2:26:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():1965 -> getSourceCodeProvider
+    27:34:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():1966:1973 -> getSourceCodeProvider
+    1:11:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):1979:1989 -> lambda$getRegistryCallback$0
+    12:12:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):1981:1981 -> lambda$getRegistryCallback$0
+    1:2:void updateMethodSignatures(java.util.function.Function):1958:1959 -> updateMethodSignatures
 com.android.tools.r8.shaking.VerticalClassMerger$TreeFixer -> com.android.tools.r8.shaking.VerticalClassMerger$TreeFixer:
-    1:1:void <clinit>():1455:1455 -> <clinit>
-    1:5:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):1455:1459 -> <init>
-    6:8:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):1458:1460 -> <init>
-    9:9:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.shaking.VerticalClassMerger$1):1455:1455 -> <init>
-    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLense access$500(com.android.tools.r8.shaking.VerticalClassMerger$TreeFixer):1455:1455 -> access$500
-    1:11:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):1504:1514 -> fixupFields
-    1:14:com.android.tools.r8.graph.DexEncodedMethod fixupMethod(com.android.tools.r8.graph.DexEncodedMethod):1480:1493 -> fixupMethod
-    15:17:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod):1520:1520 -> fixupMethod
-    1:6:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):1525:1530 -> fixupProto
-    1:11:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):1536:1546 -> fixupType
-    1:11:com.android.tools.r8.shaking.VerticalClassMergerGraphLense fixupTypeReferences():1464:1474 -> fixupTypeReferences
-    1:3:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):1553:1555 -> fixupTypes
+    1:1:void <clinit>():1447:1447 -> <clinit>
+    1:5:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):1447:1451 -> <init>
+    6:8:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):1450:1452 -> <init>
+    9:9:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.shaking.VerticalClassMerger$1):1447:1447 -> <init>
+    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLense access$500(com.android.tools.r8.shaking.VerticalClassMerger$TreeFixer):1447:1447 -> access$500
+    1:11:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):1496:1506 -> fixupFields
+    1:14:com.android.tools.r8.graph.DexEncodedMethod fixupMethod(com.android.tools.r8.graph.DexEncodedMethod):1472:1485 -> fixupMethod
+    15:17:com.android.tools.r8.graph.DexMethod fixupMethod(com.android.tools.r8.graph.DexMethod):1512:1512 -> fixupMethod
+    1:6:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):1517:1522 -> fixupProto
+    1:11:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):1528:1538 -> fixupType
+    1:11:com.android.tools.r8.shaking.VerticalClassMergerGraphLense fixupTypeReferences():1456:1466 -> fixupTypeReferences
+    1:3:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):1545:1547 -> fixupTypes
 com.android.tools.r8.shaking.VerticalClassMergerGraphLense -> com.android.tools.r8.shaking.VerticalClassMergerGraphLense:
-    1:1:void <clinit>():49:49 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.shaking.VerticalClassMergerGraphLense$1):49:49 -> <init>
-    2:2:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.GraphLense):78:78 -> <init>
-    3:14:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.GraphLense):71:82 -> <init>
-    1:3:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):110:110 -> getOriginalMethodSignature
-    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):105:105 -> getOriginalType
-    1:3:void initializeCacheForLookupMethodInAllContexts():86:88 -> initializeCacheForLookupMethodInAllContexts
-    1:1:boolean isContextFreeForMethods():165:165 -> isContextFreeForMethods
-    1:1:java.util.Set lambda$initializeCacheForLookupMethodInAllContexts$0(com.android.tools.r8.graph.DexMethod):92:92 -> lambda$initializeCacheForLookupMethodInAllContexts$0
-    1:4:void lambda$initializeCacheForLookupMethodInAllContexts$1(com.android.tools.r8.graph.DexType,java.util.Map):90:93 -> lambda$initializeCacheForLookupMethodInAllContexts$1
-    1:1:boolean lambda$verifyIsContextFreeForMethod$2(com.android.tools.r8.graph.DexMethod,java.util.Map):173:173 -> lambda$verifyIsContextFreeForMethod$2
-    1:24:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):116:139 -> lookupMethod
-    1:12:java.util.Set lookupMethodInAllContexts(com.android.tools.r8.graph.DexMethod):149:160 -> lookupMethodInAllContexts
-    1:1:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):144:144 -> mapInvocationType
-    1:2:void unsetCacheForLookupMethodInAllContexts():99:100 -> unsetCacheForLookupMethodInAllContexts
-    1:4:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):170:173 -> verifyIsContextFreeForMethod
-    5:5:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):172:172 -> verifyIsContextFreeForMethod
+    1:1:void <clinit>():48:48 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.GraphLense,com.android.tools.r8.shaking.VerticalClassMergerGraphLense$1):48:48 -> <init>
+    2:2:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.GraphLense):75:75 -> <init>
+    3:14:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Map,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.graph.GraphLense):68:79 -> <init>
+    1:3:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):89:89 -> getOriginalMethodSignature
+    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):84:84 -> getOriginalType
+    1:1:boolean isContextFreeForMethods():128:128 -> isContextFreeForMethods
+    1:1:boolean lambda$verifyIsContextFreeForMethod$0(com.android.tools.r8.graph.DexMethod,java.util.Map):136:136 -> lambda$verifyIsContextFreeForMethod$0
+    1:24:com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):95:118 -> lookupMethod
+    1:1:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):123:123 -> mapInvocationType
+    1:4:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):133:136 -> verifyIsContextFreeForMethod
+    5:5:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):135:135 -> verifyIsContextFreeForMethod
 com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder -> com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder:
-    1:1:void <clinit>():177:177 -> <clinit>
-    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory):193:193 -> <init>
-    2:15:void <init>(com.android.tools.r8.graph.DexItemFactory):181:194 -> <init>
-    1:16:com.android.tools.r8.shaking.VerticalClassMergerGraphLense build(com.android.tools.r8.graph.AppView,java.util.Map):243:258 -> build
-    1:5:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):198:202 -> createBuilderForFixup
-    6:13:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):200:207 -> createBuilderForFixup
-    14:20:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):205:211 -> createBuilderForFixup
-    21:35:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):210:224 -> createBuilderForFixup
-    36:43:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):223:230 -> createBuilderForFixup
-    44:52:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):228:236 -> createBuilderForFixup
-    53:53:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):234:234 -> createBuilderForFixup
-    1:12:com.android.tools.r8.graph.DexField getFieldSignatureAfterClassMerging(com.android.tools.r8.graph.DexField,java.util.Map):263:274 -> getFieldSignatureAfterClassMerging
-    1:14:com.android.tools.r8.graph.DexMethod getMethodSignatureAfterClassMerging(com.android.tools.r8.graph.DexMethod,java.util.Map):279:292 -> getMethodSignatureAfterClassMerging
-    1:9:com.android.tools.r8.graph.DexType getTypeAfterClassMerging(com.android.tools.r8.graph.DexType,java.util.Map):296:304 -> getTypeAfterClassMerging
-    1:4:boolean hasMappingForSignatureInContext(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):308:311 -> hasMappingForSignatureInContext
-    1:1:boolean hasOriginalSignatureMappingFor(com.android.tools.r8.graph.DexField):317:317 -> hasOriginalSignatureMappingFor
-    2:3:boolean hasOriginalSignatureMappingFor(com.android.tools.r8.graph.DexMethod):321:322 -> hasOriginalSignatureMappingFor
-    1:1:com.android.tools.r8.graph.DexType lambda$getMethodSignatureAfterClassMerging$0(java.util.Map,com.android.tools.r8.graph.DexType):287:287 -> lambda$getMethodSignatureAfterClassMerging$0
-    1:1:java.util.Map lambda$mapVirtualMethodToDirectInType$1(com.android.tools.r8.graph.DexType):349:349 -> lambda$mapVirtualMethodToDirectInType$1
-    1:1:void map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):330:330 -> map
-    2:2:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):334:334 -> map
-    1:3:void mapVirtualMethodToDirectInType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult,com.android.tools.r8.graph.DexType):348:350 -> mapVirtualMethodToDirectInType
-    1:1:void markMethodAsMerged(com.android.tools.r8.graph.DexMethod):326:326 -> markMethodAsMerged
-    1:14:void merge(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder):354:367 -> merge
-    1:1:void recordCreationOfBridgeMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):343:343 -> recordCreationOfBridgeMethod
-    1:1:void recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):339:339 -> recordMove
+    1:1:void <clinit>():140:140 -> <clinit>
+    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory):156:156 -> <init>
+    2:15:void <init>(com.android.tools.r8.graph.DexItemFactory):144:157 -> <init>
+    1:16:com.android.tools.r8.shaking.VerticalClassMergerGraphLense build(com.android.tools.r8.graph.AppView,java.util.Map):206:221 -> build
+    1:5:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):161:165 -> createBuilderForFixup
+    6:13:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):163:170 -> createBuilderForFixup
+    14:20:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):168:174 -> createBuilderForFixup
+    21:35:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):173:187 -> createBuilderForFixup
+    36:43:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):186:193 -> createBuilderForFixup
+    44:52:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):191:199 -> createBuilderForFixup
+    53:53:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder,java.util.Map):197:197 -> createBuilderForFixup
+    1:12:com.android.tools.r8.graph.DexField getFieldSignatureAfterClassMerging(com.android.tools.r8.graph.DexField,java.util.Map):226:237 -> getFieldSignatureAfterClassMerging
+    1:14:com.android.tools.r8.graph.DexMethod getMethodSignatureAfterClassMerging(com.android.tools.r8.graph.DexMethod,java.util.Map):242:255 -> getMethodSignatureAfterClassMerging
+    1:9:com.android.tools.r8.graph.DexType getTypeAfterClassMerging(com.android.tools.r8.graph.DexType,java.util.Map):259:267 -> getTypeAfterClassMerging
+    1:4:boolean hasMappingForSignatureInContext(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):271:274 -> hasMappingForSignatureInContext
+    1:1:boolean hasOriginalSignatureMappingFor(com.android.tools.r8.graph.DexField):280:280 -> hasOriginalSignatureMappingFor
+    2:3:boolean hasOriginalSignatureMappingFor(com.android.tools.r8.graph.DexMethod):284:285 -> hasOriginalSignatureMappingFor
+    1:1:com.android.tools.r8.graph.DexType lambda$getMethodSignatureAfterClassMerging$0(java.util.Map,com.android.tools.r8.graph.DexType):250:250 -> lambda$getMethodSignatureAfterClassMerging$0
+    1:1:java.util.Map lambda$mapVirtualMethodToDirectInType$1(com.android.tools.r8.graph.DexType):312:312 -> lambda$mapVirtualMethodToDirectInType$1
+    1:1:void map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):293:293 -> map
+    2:2:com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):297:297 -> map
+    1:3:void mapVirtualMethodToDirectInType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLense$GraphLenseLookupResult,com.android.tools.r8.graph.DexType):311:313 -> mapVirtualMethodToDirectInType
+    1:1:void markMethodAsMerged(com.android.tools.r8.graph.DexMethod):289:289 -> markMethodAsMerged
+    1:14:void merge(com.android.tools.r8.shaking.VerticalClassMergerGraphLense$Builder):317:330 -> merge
+    1:1:void recordCreationOfBridgeMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):306:306 -> recordCreationOfBridgeMethod
+    1:1:void recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):302:302 -> recordMove
 com.android.tools.r8.shaking.WhyAreYouKeepingConsumer -> com.android.tools.r8.shaking.WhyAreYouKeepingConsumer:
     1:1:void <clinit>():43:43 -> <clinit>
     1:1:void <init>(com.android.tools.r8.experimental.graphinfo.GraphConsumer):58:58 -> <init>
@@ -65057,9 +65466,9 @@
     2:4:com.android.tools.r8.shaking.WhyAreYouNotInliningRule build():26:28 -> build
     1:1:com.android.tools.r8.shaking.ProguardClassSpecification$Builder self():12:12 -> self
 com.android.tools.r8.utils.AarArchiveResourceProvider -> com.android.tools.r8.utils.a:
-    com.android.tools.r8.origin.Origin origin -> a
-    java.nio.file.Path archive -> b
-    boolean $assertionsDisabled -> c
+    java.nio.file.Path archive -> c
+    com.android.tools.r8.origin.Origin origin -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():32:32 -> <clinit>
     1:4:void <init>(java.nio.file.Path):41:44 -> <init>
     1:8:java.util.List readArchive():69:76 -> a
@@ -65074,8 +65483,8 @@
     67:67:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):83:83 -> a
     1:3:java.util.Collection getProgramResources():92:94 -> getProgramResources
 com.android.tools.r8.utils.AbortException -> com.android.tools.r8.utils.b:
-    com.android.tools.r8.Diagnostic diagnostic -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.Diagnostic diagnostic -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():17:17 -> <clinit>
     1:3:void <init>(com.android.tools.r8.Diagnostic):20:22 -> <init>
     1:1:com.android.tools.r8.origin.Origin getOrigin():39:39 -> a
@@ -65085,39 +65494,39 @@
 com.android.tools.r8.utils.Action -> com.android.tools.r8.utils.c:
     void execute() -> a
 com.android.tools.r8.utils.AndroidApiLevel -> com.android.tools.r8.utils.d:
-    com.android.tools.r8.utils.AndroidApiLevel L_MR1 -> w
-    com.android.tools.r8.utils.AndroidApiLevel K_WATCH -> u
-    com.android.tools.r8.utils.AndroidApiLevel N -> y
-    com.android.tools.r8.utils.AndroidApiLevel B -> b
-    com.android.tools.r8.utils.AndroidApiLevel P -> C
-    com.android.tools.r8.utils.AndroidApiLevel O -> A
-    com.android.tools.r8.utils.AndroidApiLevel E -> f
-    com.android.tools.r8.utils.AndroidApiLevel C -> d
-    com.android.tools.r8.utils.AndroidApiLevel R -> E
-    com.android.tools.r8.utils.AndroidApiLevel G -> j
-    com.android.tools.r8.utils.AndroidApiLevel E_MR1 -> h
-    com.android.tools.r8.utils.AndroidApiLevel H_MR2 -> n
-    com.android.tools.r8.utils.AndroidApiLevel H -> l
-    com.android.tools.r8.utils.AndroidApiLevel J_MR1 -> r
-    com.android.tools.r8.utils.AndroidApiLevel I_MR1 -> p
-    com.android.tools.r8.utils.AndroidApiLevel L -> v
-    com.android.tools.r8.utils.AndroidApiLevel K -> t
-    com.android.tools.r8.utils.AndroidApiLevel N_MR1 -> z
-    com.android.tools.r8.utils.AndroidApiLevel M -> x
-    com.android.tools.r8.utils.AndroidApiLevel[] $VALUES -> G
-    com.android.tools.r8.utils.AndroidApiLevel O_MR1 -> B
-    com.android.tools.r8.utils.AndroidApiLevel B_1_1 -> c
-    int level -> a
-    com.android.tools.r8.utils.AndroidApiLevel LATEST -> F
-    com.android.tools.r8.utils.AndroidApiLevel E_0_1 -> g
-    com.android.tools.r8.utils.AndroidApiLevel Q -> D
-    com.android.tools.r8.utils.AndroidApiLevel D -> e
-    com.android.tools.r8.utils.AndroidApiLevel G_MR1 -> k
-    com.android.tools.r8.utils.AndroidApiLevel F -> i
-    com.android.tools.r8.utils.AndroidApiLevel I -> o
-    com.android.tools.r8.utils.AndroidApiLevel H_MR1 -> m
-    com.android.tools.r8.utils.AndroidApiLevel J_MR2 -> s
-    com.android.tools.r8.utils.AndroidApiLevel J -> q
+    com.android.tools.r8.utils.AndroidApiLevel M -> w
+    com.android.tools.r8.utils.AndroidApiLevel L -> u
+    com.android.tools.r8.utils.AndroidApiLevel N_MR1 -> y
+    int level -> G
+    com.android.tools.r8.utils.AndroidApiLevel[] $VALUES -> F
+    com.android.tools.r8.utils.AndroidApiLevel B_1_1 -> b
+    com.android.tools.r8.utils.AndroidApiLevel Q -> C
+    com.android.tools.r8.utils.AndroidApiLevel O_MR1 -> A
+    com.android.tools.r8.utils.AndroidApiLevel E_0_1 -> f
+    com.android.tools.r8.utils.AndroidApiLevel D -> d
+    com.android.tools.r8.utils.AndroidApiLevel LATEST -> E
+    com.android.tools.r8.utils.AndroidApiLevel G_MR1 -> j
+    com.android.tools.r8.utils.AndroidApiLevel F -> h
+    com.android.tools.r8.utils.AndroidApiLevel I -> n
+    com.android.tools.r8.utils.AndroidApiLevel H_MR1 -> l
+    com.android.tools.r8.utils.AndroidApiLevel J_MR2 -> r
+    com.android.tools.r8.utils.AndroidApiLevel J -> p
+    com.android.tools.r8.utils.AndroidApiLevel L_MR1 -> v
+    com.android.tools.r8.utils.AndroidApiLevel K_WATCH -> t
+    com.android.tools.r8.utils.AndroidApiLevel O -> z
+    com.android.tools.r8.utils.AndroidApiLevel N -> x
+    com.android.tools.r8.utils.AndroidApiLevel P -> B
+    com.android.tools.r8.utils.AndroidApiLevel C -> c
+    com.android.tools.r8.utils.AndroidApiLevel B -> a
+    com.android.tools.r8.utils.AndroidApiLevel E_MR1 -> g
+    com.android.tools.r8.utils.AndroidApiLevel R -> D
+    com.android.tools.r8.utils.AndroidApiLevel E -> e
+    com.android.tools.r8.utils.AndroidApiLevel H -> k
+    com.android.tools.r8.utils.AndroidApiLevel G -> i
+    com.android.tools.r8.utils.AndroidApiLevel I_MR1 -> o
+    com.android.tools.r8.utils.AndroidApiLevel H_MR2 -> m
+    com.android.tools.r8.utils.AndroidApiLevel K -> s
+    com.android.tools.r8.utils.AndroidApiLevel J_MR1 -> q
     1:30:void <clinit>():15:44 -> <clinit>
     31:63:void <clinit>():14:46 -> <clinit>
     1:2:void <init>(java.lang.String,int,int):52:53 -> <init>
@@ -65161,15 +65570,15 @@
     1:1:int getLevel():57:57 -> d
     1:1:com.android.tools.r8.utils.AndroidApiLevel[] values():14:14 -> e
 com.android.tools.r8.utils.AndroidApp -> com.android.tools.r8.utils.e:
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.StringResource proguardMapOutputData -> f
-    com.android.tools.r8.com.google.common.collect.ImmutableList archiveProvidersToClose -> e
-    com.android.tools.r8.com.google.common.collect.ImmutableMap programResourcesMainDescriptor -> b
-    java.util.List mainDexClasses -> h
-    java.util.List mainDexListResources -> g
-    com.android.tools.r8.com.google.common.collect.ImmutableList programResourceProviders -> a
-    com.android.tools.r8.com.google.common.collect.ImmutableList libraryResourceProviders -> d
-    com.android.tools.r8.com.google.common.collect.ImmutableList classpathResourceProviders -> c
+    com.android.tools.r8.StringResource proguardMapOutputData -> g
+    com.android.tools.r8.com.google.common.collect.ImmutableMap programResourcesMainDescriptor -> c
+    com.android.tools.r8.com.google.common.collect.ImmutableList archiveProvidersToClose -> f
+    com.android.tools.r8.com.google.common.collect.ImmutableList libraryResourceProviders -> e
+    java.util.List mainDexClasses -> i
+    java.util.List mainDexListResources -> h
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.com.google.common.collect.ImmutableList programResourceProviders -> b
+    com.android.tools.r8.com.google.common.collect.ImmutableList classpathResourceProviders -> d
     1:1:void <clinit>():79:79 -> <clinit>
     1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.StringResource,java.util.List,java.util.List,com.android.tools.r8.utils.AndroidApp$1):79:79 -> <init>
     2:12:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.StringResource,java.util.List,java.util.List):180:190 -> <init>
@@ -65224,7 +65633,7 @@
     327:333:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):642:648 -> a
     334:335:java.lang.String extractClassDescriptor(byte[]):687:688 -> a
     334:335:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):647 -> a
-    336:336:void com.android.tools.r8.org.objectweb.asm.ClassReader.accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):400:400 -> a
+    336:336:void com.android.tools.r8.org.objectweb.asm.ClassReader.accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):401:401 -> a
     336:336:java.lang.String extractClassDescriptor(byte[]):689 -> a
     336:336:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):647 -> a
     337:337:java.lang.String extractClassDescriptor(byte[]):694:694 -> a
@@ -65280,19 +65689,19 @@
     1:1:java.util.Set getClassDescriptors():497:497 -> getClassDescriptors
     1:1:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):502:502 -> getProgramResource
 com.android.tools.r8.utils.AndroidApp$Builder -> com.android.tools.r8.utils.e$b:
-    boolean $assertionsDisabled -> m
-    boolean ignoreDexInArchive -> j
-    com.android.tools.r8.StringResource proguardMapOutputData -> k
-    java.util.List programResources -> b
-    com.android.tools.r8.utils.Reporter reporter -> l
-    java.util.List programResourceProviders -> a
-    java.util.Map programResourcesMainDescriptor -> d
-    java.util.List libraryResourceProviders -> f
-    java.util.List classpathResourceProviders -> e
-    java.util.List dataResources -> c
-    java.util.List mainDexListClasses -> i
-    java.util.List mainDexListResources -> h
-    java.util.List archiveProvidersToClose -> g
+    boolean ignoreDexInArchive -> k
+    com.android.tools.r8.StringResource proguardMapOutputData -> l
+    java.util.List programResourceProviders -> b
+    com.android.tools.r8.utils.Reporter reporter -> m
+    java.util.List classpathResourceProviders -> f
+    java.util.List dataResources -> d
+    java.util.List programResources -> c
+    java.util.List mainDexListClasses -> j
+    java.util.List mainDexListResources -> i
+    java.util.List archiveProvidersToClose -> h
+    java.util.List libraryResourceProviders -> g
+    boolean $assertionsDisabled -> a
+    java.util.Map programResourcesMainDescriptor -> e
     1:1:void <clinit>():700:700 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.AndroidApp$1):700:700 -> <init>
     2:2:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.AndroidApp$1):700:700 -> <init>
@@ -65403,17 +65812,17 @@
     1:2:com.android.tools.r8.DataResourceProvider getDataResourceProvider():1118:1119 -> getDataResourceProvider
     1:1:java.util.Collection getProgramResources():1113:1113 -> getProgramResources
 com.android.tools.r8.utils.AndroidApp$Builder$2$1 -> com.android.tools.r8.utils.j:
-    com.android.tools.r8.utils.AndroidApp$Builder$2 this$1 -> a
-    boolean $assertionsDisabled -> b
+    com.android.tools.r8.utils.AndroidApp$Builder$2 this$1 -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():1119:1119 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder$2):1119:1119 -> <init>
     1:6:void accept(com.android.tools.r8.DataResourceProvider$Visitor):1122:1127 -> accept
 com.android.tools.r8.utils.AndroidAppConsumers -> com.android.tools.r8.utils.k:
-    com.android.tools.r8.utils.AndroidApp$Builder builder -> a
-    boolean $assertionsDisabled -> e
-    boolean closed -> b
-    com.android.tools.r8.StringConsumer proguardMapConsumer -> d
-    com.android.tools.r8.ProgramConsumer programConsumer -> c
+    com.android.tools.r8.utils.AndroidApp$Builder builder -> b
+    com.android.tools.r8.StringConsumer proguardMapConsumer -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.ProgramConsumer programConsumer -> d
+    boolean closed -> c
     1:1:void <clinit>():30:30 -> <clinit>
     1:1:void <init>():38:38 -> <init>
     2:6:void <init>():32:36 -> <init>
@@ -65439,10 +65848,10 @@
     1:5:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):77:81 -> accept
     1:3:void finished(com.android.tools.r8.DiagnosticsHandler):86:88 -> finished
 com.android.tools.r8.utils.AndroidAppConsumers$2 -> com.android.tools.r8.utils.k$b:
-    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap files -> c
-    com.android.tools.r8.DexIndexedConsumer val$consumer -> d
-    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> e
-    boolean $assertionsDisabled -> f
+    com.android.tools.r8.DexIndexedConsumer val$consumer -> e
+    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap files -> d
+    boolean $assertionsDisabled -> c
+    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> f
     1:1:void <clinit>():99:99 -> <clinit>
     1:4:void <init>(com.android.tools.r8.utils.AndroidAppConsumers,com.android.tools.r8.DexIndexedConsumer,com.android.tools.r8.DexIndexedConsumer):99:102 -> <init>
     1:1:void lambda$finished$0(java.lang.Integer,com.android.tools.r8.utils.AndroidAppConsumers$DescriptorsWithContents):120:120 -> a
@@ -65459,10 +65868,10 @@
     3:11:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):144:152 -> accept
     1:2:void finished(com.android.tools.r8.DiagnosticsHandler):158:159 -> finished
 com.android.tools.r8.utils.AndroidAppConsumers$3 -> com.android.tools.r8.utils.n:
-    java.util.TreeMap files -> c
-    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> e
-    com.android.tools.r8.DexFilePerClassFileConsumer val$consumer -> d
-    boolean $assertionsDisabled -> f
+    java.util.TreeMap files -> d
+    com.android.tools.r8.DexFilePerClassFileConsumer val$consumer -> e
+    boolean $assertionsDisabled -> c
+    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> f
     1:1:void <clinit>():177:177 -> <clinit>
     1:4:void <init>(com.android.tools.r8.utils.AndroidAppConsumers,com.android.tools.r8.DexFilePerClassFileConsumer,com.android.tools.r8.DexFilePerClassFileConsumer):177:180 -> <init>
     1:1:void lambda$finished$0(java.lang.String,com.android.tools.r8.utils.AndroidAppConsumers$DescriptorsWithContents):202:202 -> a
@@ -65479,10 +65888,10 @@
     3:11:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):226:234 -> accept
     1:2:void finished(com.android.tools.r8.DiagnosticsHandler):240:241 -> finished
 com.android.tools.r8.utils.AndroidAppConsumers$4 -> com.android.tools.r8.utils.k$c:
-    com.android.tools.r8.ClassFileConsumer val$consumer -> d
-    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> e
-    java.util.List files -> c
-    boolean $assertionsDisabled -> f
+    com.android.tools.r8.ClassFileConsumer val$consumer -> e
+    java.util.List files -> d
+    boolean $assertionsDisabled -> c
+    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> f
     1:1:void <clinit>():254:254 -> <clinit>
     1:3:void <init>(com.android.tools.r8.utils.AndroidAppConsumers,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ClassFileConsumer):254:256 -> <init>
     1:1:void lambda$finished$0(com.android.tools.r8.utils.AndroidAppConsumers$DescriptorsWithContents):274:274 -> a
@@ -65504,15 +65913,15 @@
     1:1:void <init>(java.util.Set,byte[],com.android.tools.r8.utils.AndroidAppConsumers$1):328:328 -> <init>
     2:4:void <init>(java.util.Set,byte[]):333:335 -> <init>
 com.android.tools.r8.utils.ArchiveBuilder -> com.android.tools.r8.utils.r:
-    boolean $assertionsDisabled -> i
-    com.android.tools.r8.origin.Origin origin -> b
-    java.util.zip.ZipOutputStream stream -> c
-    int classesFileIndex -> f
-    int openCount -> e
-    java.nio.file.Path archive -> a
-    java.util.SortedSet delayedWrites -> h
-    java.util.Map delayedClassesDexFiles -> g
-    boolean closed -> d
+    java.nio.file.Path archive -> b
+    com.android.tools.r8.origin.Origin origin -> c
+    java.util.zip.ZipOutputStream stream -> d
+    boolean closed -> e
+    int openCount -> f
+    int classesFileIndex -> g
+    boolean $assertionsDisabled -> a
+    java.util.SortedSet delayedWrites -> i
+    java.util.Map delayedClassesDexFiles -> h
     1:1:void <clinit>():28:28 -> <clinit>
     1:1:void <init>(java.nio.file.Path):38:38 -> <init>
     2:11:void <init>(java.nio.file.Path):31:40 -> <init>
@@ -65558,10 +65967,10 @@
     2:4:int compareTo(com.android.tools.r8.utils.ArchiveBuilder$DelayedData):211:213 -> compareTo
     2:4:int compareTo(java.lang.Object):189 -> compareTo
 com.android.tools.r8.utils.ArchiveResourceProvider -> com.android.tools.r8.utils.ArchiveResourceProvider:
-    com.android.tools.r8.origin.Origin origin -> a
-    com.android.tools.r8.shaking.FilteredClassPath archive -> b
-    boolean ignoreDexInArchive -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.origin.Origin origin -> b
+    com.android.tools.r8.shaking.FilteredClassPath archive -> c
+    boolean $assertionsDisabled -> a
+    boolean ignoreDexInArchive -> d
     1:1:void <clinit>():36:36 -> <clinit>
     1:5:void <init>(com.android.tools.r8.shaking.FilteredClassPath,boolean):47:51 -> <init>
     1:16:java.util.List readArchive():55:70 -> a
@@ -65596,19 +66005,23 @@
     56:56:java.lang.Object[] map(java.lang.Class,java.lang.Object[],java.util.function.Function):106:106 -> a
     57:58:boolean contains(java.lang.Object[],java.lang.Object):119:120 -> a
 com.android.tools.r8.utils.AssertionConfigurationWithDefault -> com.android.tools.r8.utils.t:
-    java.util.List assertionsConfigurations -> b
-    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation defautlTransformation -> a
-    boolean $assertionsDisabled -> c
+    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation defautlTransformation -> b
+    java.util.List assertionsConfigurations -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:4:void <init>(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,java.util.List):19:22 -> <init>
-com.android.tools.r8.utils.BiMapContainer -> com.android.tools.r8.utils.u:
+com.android.tools.r8.utils.AssertionUtils -> com.android.tools.r8.utils.u:
+    boolean $assertionsDisabled -> a
+    1:1:void <clinit>():7:7 -> <clinit>
+    1:1:boolean assertNotNull(java.lang.Object):10:10 -> a
+com.android.tools.r8.utils.BiMapContainer -> com.android.tools.r8.utils.v:
     java.util.Map original -> a
     java.util.Map inverse -> b
     1:3:void <init>(java.util.Map,java.util.Map):21:23 -> <init>
-com.android.tools.r8.utils.BitUtils -> com.android.tools.r8.utils.v:
+com.android.tools.r8.utils.BitUtils -> com.android.tools.r8.utils.w:
     boolean isBitInMaskSet(int,int) -> a
     boolean isBitSet(int,int) -> b
-com.android.tools.r8.utils.BooleanBox -> com.android.tools.r8.utils.w:
+com.android.tools.r8.utils.BooleanBox -> com.android.tools.r8.utils.x:
     boolean value -> a
     1:1:void <init>():11:11 -> <init>
     1:1:boolean get():18:18 -> a
@@ -65617,7 +66030,7 @@
     1:1:void set():22 -> b
     1:1:void set(boolean):26:26 -> c
     1:1:void unset():30 -> c
-com.android.tools.r8.utils.BooleanLatticeElement -> com.android.tools.r8.utils.x:
+com.android.tools.r8.utils.BooleanLatticeElement -> com.android.tools.r8.utils.y:
     com.android.tools.r8.utils.BooleanLatticeElement BOTTOM -> a
     boolean $assertionsDisabled -> b
     1:3:void <clinit>():6:8 -> <clinit>
@@ -65631,17 +66044,17 @@
     boolean isTrue() -> f
     boolean isUnknown() -> g
     1:1:int hashCode():74:74 -> hashCode
-com.android.tools.r8.utils.BooleanLatticeElement$1 -> com.android.tools.r8.utils.x$a:
+com.android.tools.r8.utils.BooleanLatticeElement$1 -> com.android.tools.r8.utils.y$a:
     1:1:void <init>():9:9 -> <init>
     1:1:com.android.tools.r8.utils.OptionalBool asOptionalBool():13:13 -> a
     boolean isBottom() -> b
-com.android.tools.r8.utils.BooleanUtils -> com.android.tools.r8.utils.y:
+com.android.tools.r8.utils.BooleanUtils -> com.android.tools.r8.utils.z:
     java.lang.Boolean[] VALUES -> a
     int $r8$clinit -> b
     1:1:void <clinit>():8:8 -> <clinit>
     int intValue(boolean) -> a
     1:1:java.lang.Boolean[] values():19:19 -> a
-com.android.tools.r8.utils.Box -> com.android.tools.r8.utils.z:
+com.android.tools.r8.utils.Box -> com.android.tools.r8.utils.A:
     java.lang.Object value -> a
     1:1:void <init>():13:13 -> <init>
     2:3:void <init>(java.lang.Object):15:16 -> <init>
@@ -65649,23 +66062,23 @@
     5:5:java.lang.Object get():27:27 -> a
     6:6:void set(java.lang.Object):31:31 -> a
     1:1:boolean isSet():35:35 -> b
-com.android.tools.r8.utils.CfLineToMethodMapper -> com.android.tools.r8.utils.D:
-    java.util.Map sourceMethodMapping -> a
-    com.android.tools.r8.utils.AndroidApp inputApp -> b
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.utils.CfLineToMethodMapper -> com.android.tools.r8.utils.E:
+    java.util.Map sourceMethodMapping -> b
+    com.android.tools.r8.utils.AndroidApp inputApp -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():19:19 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.AndroidApp):25:25 -> <init>
     2:7:void <init>(com.android.tools.r8.utils.AndroidApp):21:26 -> <init>
     1:1:java.util.Map access$100(com.android.tools.r8.utils.CfLineToMethodMapper):19:19 -> a
     2:7:java.lang.String lookupNameAndDescriptor(java.lang.String,int):31:36 -> a
     8:29:void readLineNumbersFromClassFiles():40:61 -> a
-    30:30:void com.android.tools.r8.org.objectweb.asm.ClassReader.accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):400:400 -> a
+    30:30:void com.android.tools.r8.org.objectweb.asm.ClassReader.accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):401:401 -> a
     30:30:void readLineNumbersFromClassFiles():62 -> a
     31:35:void lambda$readLineNumbersFromClassFiles$0(com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor,com.android.tools.r8.ProgramResource):46:50 -> a
-    36:36:void com.android.tools.r8.org.objectweb.asm.ClassReader.accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):400:400 -> a
+    36:36:void com.android.tools.r8.org.objectweb.asm.ClassReader.accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):401:401 -> a
     36:36:void lambda$readLineNumbersFromClassFiles$0(com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor,com.android.tools.r8.ProgramResource):51 -> a
-com.android.tools.r8.utils.CfLineToMethodMapper$1 -> com.android.tools.r8.utils.A:
-com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor -> com.android.tools.r8.utils.B:
+com.android.tools.r8.utils.CfLineToMethodMapper$1 -> com.android.tools.r8.utils.B:
+com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor -> com.android.tools.r8.utils.C:
     com.android.tools.r8.utils.CfLineToMethodMapper this$0 -> d
     com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap currentLineNumberMapping -> c
     1:1:void <init>(com.android.tools.r8.utils.CfLineToMethodMapper,com.android.tools.r8.utils.CfLineToMethodMapper$1):85:85 -> <init>
@@ -65673,18 +66086,18 @@
     4:4:void <init>(com.android.tools.r8.utils.CfLineToMethodMapper):87:87 -> <init>
     1:3:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):101:103 -> a
     4:4:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
-    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap lambda$visit$0(java.lang.String):103:103 -> c
-com.android.tools.r8.utils.CfLineToMethodMapper$MethodLineVisitor -> com.android.tools.r8.utils.C:
+    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap lambda$visit$0(java.lang.String):103:103 -> d
+com.android.tools.r8.utils.CfLineToMethodMapper$MethodLineVisitor -> com.android.tools.r8.utils.D:
     java.lang.String nameAndDescriptor -> j
     java.util.Map lineMethodMapping -> k
     1:1:void <init>(java.lang.String,java.util.Map,com.android.tools.r8.utils.CfLineToMethodMapper$1):114:114 -> <init>
     2:4:void <init>(java.lang.String,java.util.Map):120:122 -> <init>
     1:1:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):127:127 -> b
-com.android.tools.r8.utils.CfgPrinter -> com.android.tools.r8.utils.E:
-    java.util.Stack opened -> b
-    java.lang.StringBuilder builder -> a
-    int nextUnusedValue -> c
-    boolean $assertionsDisabled -> d
+com.android.tools.r8.utils.CfgPrinter -> com.android.tools.r8.utils.F:
+    java.util.Stack opened -> c
+    java.lang.StringBuilder builder -> b
+    int nextUnusedValue -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():11:11 -> <clinit>
     1:7:void <init>():11:17 -> <init>
     1:1:com.android.tools.r8.utils.CfgPrinter append(int):55:55 -> a
@@ -65706,17 +66119,17 @@
     7:7:com.android.tools.r8.utils.CfgPrinter sp():65:65 -> c
     1:2:com.android.tools.r8.utils.CfgPrinter print(java.lang.String):49:50 -> d
     1:1:java.lang.String toString():82:82 -> toString
-com.android.tools.r8.utils.ChainableStringConsumer -> com.android.tools.r8.utils.G:
+com.android.tools.r8.utils.ChainableStringConsumer -> com.android.tools.r8.utils.H:
     com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String) -> a
     1:1:com.android.tools.r8.utils.ChainableStringConsumer wrap(java.util.function.Consumer):15:15 -> a
-com.android.tools.r8.utils.ChainableStringConsumer$1 -> com.android.tools.r8.utils.F:
+com.android.tools.r8.utils.ChainableStringConsumer$1 -> com.android.tools.r8.utils.G:
     java.util.function.Consumer val$consumer -> a
     1:1:void <init>(java.util.function.Consumer):15:15 -> <init>
     1:1:com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String):18:18 -> a
-com.android.tools.r8.utils.ClassMap -> com.android.tools.r8.utils.J:
-    java.util.Map classes -> a
-    java.util.concurrent.atomic.AtomicReference classProvider -> b
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.utils.ClassMap -> com.android.tools.r8.utils.K:
+    java.util.Map classes -> b
+    java.util.concurrent.atomic.AtomicReference classProvider -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():34:34 -> <clinit>
     1:1:void <init>(java.util.Map,com.android.tools.r8.utils.ClassProvider):58:58 -> <init>
     2:7:void <init>(java.util.Map,com.android.tools.r8.utils.ClassProvider):56:61 -> <init>
@@ -65735,14 +66148,14 @@
     com.android.tools.r8.graph.ClassKind getClassKind() -> c
     1:1:boolean isFullyLoaded():228:228 -> d
     1:1:java.lang.String toString():81:81 -> toString
-com.android.tools.r8.utils.ClassMap$1 -> com.android.tools.r8.utils.H:
-com.android.tools.r8.utils.ClassMap$ConcurrentClassLoader -> com.android.tools.r8.utils.I:
-    boolean ready -> e
-    boolean $assertionsDisabled -> f
-    com.android.tools.r8.graph.DexType type -> c
-    com.android.tools.r8.utils.ClassMap classMap -> a
-    com.android.tools.r8.utils.ClassProvider provider -> b
-    com.android.tools.r8.graph.DexClass clazz -> d
+com.android.tools.r8.utils.ClassMap$1 -> com.android.tools.r8.utils.I:
+com.android.tools.r8.utils.ClassMap$ConcurrentClassLoader -> com.android.tools.r8.utils.J:
+    com.android.tools.r8.graph.DexType type -> d
+    boolean ready -> f
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.graph.DexClass clazz -> e
+    com.android.tools.r8.utils.ClassMap classMap -> b
+    com.android.tools.r8.utils.ClassProvider provider -> c
     1:1:void <clinit>():234:234 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.ClassMap,com.android.tools.r8.utils.ClassProvider,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.ClassMap$1):234:234 -> <init>
     2:2:void <init>(com.android.tools.r8.utils.ClassMap,com.android.tools.r8.utils.ClassProvider,com.android.tools.r8.graph.DexType):243:243 -> <init>
@@ -65755,7 +66168,7 @@
     66:66:void lambda$get$0(com.android.tools.r8.graph.DexClass):266 -> a
     67:67:void lambda$get$0(com.android.tools.r8.graph.DexClass):266:266 -> a
     1:1:java.lang.Object get():234:234 -> get
-com.android.tools.r8.utils.ClassProvider -> com.android.tools.r8.utils.O:
+com.android.tools.r8.utils.ClassProvider -> com.android.tools.r8.utils.P:
     com.android.tools.r8.graph.ClassKind classKind -> a
     1:2:void <init>(com.android.tools.r8.graph.ClassKind):28:29 -> <init>
     void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer) -> a
@@ -65766,8 +66179,8 @@
     3:3:com.android.tools.r8.utils.ClassProvider forPreloadedClasses(com.android.tools.r8.graph.ClassKind,java.util.Collection):66 -> a
     4:7:com.android.tools.r8.utils.ClassProvider forPreloadedClasses(com.android.tools.r8.graph.ClassKind,java.util.Collection):67:70 -> a
     1:1:com.android.tools.r8.graph.ClassKind getClassKind():34:34 -> b
-com.android.tools.r8.utils.ClassProvider$1 -> com.android.tools.r8.utils.K:
-com.android.tools.r8.utils.ClassProvider$ClassFileResourceReader -> com.android.tools.r8.utils.L:
+com.android.tools.r8.utils.ClassProvider$1 -> com.android.tools.r8.utils.L:
+com.android.tools.r8.utils.ClassProvider$ClassFileResourceReader -> com.android.tools.r8.utils.M:
     com.android.tools.r8.graph.JarApplicationReader reader -> d
     com.android.tools.r8.graph.ClassKind classKind -> b
     com.android.tools.r8.ClassFileResourceProvider provider -> c
@@ -65779,21 +66192,21 @@
     9:9:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):102:102 -> a
     10:12:java.util.Collection collectTypes():109:111 -> a
     1:1:java.lang.String toString():118:118 -> toString
-com.android.tools.r8.utils.ClassProvider$CombinedClassProvider -> com.android.tools.r8.utils.M:
+com.android.tools.r8.utils.ClassProvider$CombinedClassProvider -> com.android.tools.r8.utils.N:
     java.util.List providers -> b
     1:1:void <init>(com.android.tools.r8.graph.ClassKind,java.util.List,com.android.tools.r8.utils.ClassProvider$1):148:148 -> <init>
     2:3:void <init>(com.android.tools.r8.graph.ClassKind,java.util.List):152:153 -> <init>
     1:2:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):158:159 -> a
     3:5:java.util.Collection collectTypes():165:167 -> a
     1:8:java.lang.String toString():174:181 -> toString
-com.android.tools.r8.utils.ClassProvider$PreloadedClassProvider -> com.android.tools.r8.utils.N:
+com.android.tools.r8.utils.ClassProvider$PreloadedClassProvider -> com.android.tools.r8.utils.O:
     com.android.tools.r8.com.google.common.collect.Multimap classes -> b
     1:1:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.com.google.common.collect.Multimap,com.android.tools.r8.utils.ClassProvider$1):122:122 -> <init>
     2:3:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.com.google.common.collect.Multimap):126:127 -> <init>
     1:2:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):132:133 -> a
     3:3:java.util.Collection collectTypes():139:139 -> a
     1:1:java.lang.String toString():144:144 -> toString
-com.android.tools.r8.utils.ClasspathClassCollection -> com.android.tools.r8.utils.P:
+com.android.tools.r8.utils.ClasspathClassCollection -> com.android.tools.r8.utils.Q:
     1:1:void <init>(com.android.tools.r8.utils.ClassProvider):14:14 -> <init>
     1:1:java.util.function.Supplier getTransparentSupplier(com.android.tools.r8.graph.DexClass):12:12 -> a
     2:2:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12:12 -> a
@@ -65810,21 +66223,20 @@
     6:6:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
     1:1:com.android.tools.r8.graph.ClassKind getClassKind():29:29 -> c
     1:1:java.lang.String toString():34:34 -> toString
-com.android.tools.r8.utils.Consumer3 -> com.android.tools.r8.utils.Q:
+com.android.tools.r8.utils.Consumer3 -> com.android.tools.r8.utils.S:
     void accept(java.lang.Object,java.lang.Object,java.lang.Object) -> a
-com.android.tools.r8.utils.ConsumerUtils -> com.android.tools.r8.utils.S:
+com.android.tools.r8.utils.ConsumerUtils -> com.android.tools.r8.utils.T:
     void lambda$emptyConsumer$0(java.lang.Object) -> a
     1:1:java.util.function.Consumer emptyConsumer():12:12 -> a
     void lambda$emptyThrowingConsumer$1(java.lang.Object) -> b
     1:1:com.android.tools.r8.utils.ThrowingConsumer emptyThrowingConsumer():16:16 -> b
-com.android.tools.r8.utils.DescriptorUtils -> com.android.tools.r8.utils.T:
+com.android.tools.r8.utils.DescriptorUtils -> com.android.tools.r8.utils.U:
     java.util.Map typeNameToLetterMap -> a
     boolean $assertionsDisabled -> b
     int $r8$clinit -> c
     1:17:void <clinit>():21:37 -> <clinit>
-    1:2:java.lang.String javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> A
-    1:2:java.lang.String javaTypeToDescriptorIgnorePrimitives(java.lang.String):82:83 -> B
-    1:1:java.lang.String javaTypeToShorty(java.lang.String):149:149 -> C
+    1:2:java.lang.String javaTypeToDescriptorIgnorePrimitives(java.lang.String):82:83 -> A
+    1:1:java.lang.String javaTypeToShorty(java.lang.String):149:149 -> B
     boolean isPrimitiveType(char) -> a
     1:12:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):43:54 -> a
     13:17:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):53:57 -> a
@@ -65836,69 +66248,69 @@
     33:33:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):210 -> a
     34:34:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):208:208 -> a
     35:39:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):201:205 -> a
-    40:46:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):397:403 -> a
-    47:47:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):402:402 -> a
-    48:48:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):400:400 -> a
-    49:56:java.lang.String computeInnerClassSeparator(java.lang.String,java.lang.String,java.lang.String):408:415 -> a
-    57:60:java.lang.String computeInnerClassSeparator(java.lang.String,java.lang.String,java.lang.String):414:417 -> a
-    61:65:java.lang.String guessTypeDescriptor(java.nio.file.Path):489:493 -> a
-    66:66:java.lang.String getPathFromJavaType(java.lang.Class):563:563 -> a
+    40:46:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):390:396 -> a
+    47:47:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):395:395 -> a
+    48:48:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):393:393 -> a
+    49:56:java.lang.String computeInnerClassSeparator(java.lang.String,java.lang.String,java.lang.String):401:408 -> a
+    57:60:java.lang.String computeInnerClassSeparator(java.lang.String,java.lang.String,java.lang.String):407:410 -> a
+    61:65:java.lang.String guessTypeDescriptor(java.nio.file.Path):482:486 -> a
+    66:66:java.lang.String getPathFromJavaType(java.lang.Class):561:561 -> a
     1:1:java.lang.String descriptorToJavaType(java.lang.String):159:159 -> b
-    1:2:java.lang.String descriptorToKotlinClassifier(java.lang.String):185:186 -> c
-    1:20:int getArgumentCount(java.lang.String):634:653 -> d
-    1:37:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):590:626 -> e
-    38:44:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):611:617 -> e
-    45:70:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):598:623 -> e
-    71:71:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):607:607 -> e
-    1:2:java.lang.String getBinaryNameFromDescriptor(java.lang.String):346:347 -> f
-    1:1:java.lang.String getBinaryNameFromJavaType(java.lang.String):338:338 -> g
-    1:3:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):316:318 -> h
-    1:2:java.lang.String getClassFileName(java.lang.String):572:573 -> i
-    1:2:java.lang.String getClassNameFromDescriptor(java.lang.String):284:285 -> j
-    1:2:java.lang.String getDescriptorFromClassBinaryName(java.lang.String):357:358 -> k
-    1:3:java.lang.String getDescriptorFromKotlinClassifier(java.lang.String):367:369 -> l
-    1:1:java.lang.String getJavaTypeFromBinaryName(java.lang.String):342:342 -> m
-    1:1:java.lang.String getPackageBinaryNameFromJavaType(java.lang.String):328:328 -> n
-    1:3:java.lang.String getPackageNameFromBinaryName(java.lang.String):467:469 -> o
-    1:1:java.lang.String getPackageNameFromDescriptor(java.lang.String):306:306 -> p
-    1:3:java.lang.String getPathFromDescriptor(java.lang.String):557:559 -> q
-    1:2:java.lang.String getPathFromJavaType(java.lang.String):567:568 -> r
-    1:2:java.lang.String getReturnTypeDescriptor(java.lang.String):577:578 -> s
-    1:1:java.lang.String getUnqualifiedClassNameFromDescriptor(java.lang.String):274:274 -> t
-    2:3:java.lang.String getUnqualifiedClassNameFromBinaryName(java.lang.String):391:392 -> t
-    2:3:java.lang.String getUnqualifiedClassNameFromDescriptor(java.lang.String):274 -> t
-    1:13:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):540:552 -> u
-    14:14:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):550:550 -> u
-    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> u
-    15:15:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):550 -> u
-    16:16:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):550:550 -> u
-    1:8:java.lang.String guessTypeDescriptor(java.lang.String):505:512 -> v
-    9:9:java.lang.String guessTypeDescriptor(java.lang.String):510:510 -> v
-    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> v
-    10:10:java.lang.String guessTypeDescriptor(java.lang.String):510 -> v
-    11:11:java.lang.String guessTypeDescriptor(java.lang.String):510:510 -> v
-    1:26:boolean isClassDescriptor(java.lang.String):424:449 -> w
-    1:1:boolean isDescriptor(java.lang.String):237:237 -> x
-    2:5:boolean isPrimitiveDescriptor(java.lang.String):215:218 -> x
-    2:5:boolean isDescriptor(java.lang.String):238 -> x
-    6:10:boolean isArrayDescriptor(java.lang.String):227:231 -> x
-    6:10:boolean isDescriptor(java.lang.String):239 -> x
-    1:6:boolean isValidJavaType(java.lang.String):123:128 -> y
-    1:2:java.lang.String javaTypeToDescriptor(java.lang.String):67:68 -> z
-com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor -> com.android.tools.r8.utils.T$a:
+    1:20:int getArgumentCount(java.lang.String):632:651 -> c
+    1:37:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):588:624 -> d
+    38:44:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):609:615 -> d
+    45:70:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):596:621 -> d
+    71:71:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):605:605 -> d
+    1:2:java.lang.String getBinaryNameFromDescriptor(java.lang.String):346:347 -> e
+    1:1:java.lang.String getBinaryNameFromJavaType(java.lang.String):338:338 -> f
+    1:3:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):316:318 -> g
+    1:2:java.lang.String getClassFileName(java.lang.String):570:571 -> h
+    1:2:java.lang.String getClassNameFromDescriptor(java.lang.String):284:285 -> i
+    1:2:java.lang.String getDescriptorFromClassBinaryName(java.lang.String):357:358 -> j
+    1:3:java.lang.String getDescriptorFromKotlinClassifier(java.lang.String):367:369 -> k
+    1:1:java.lang.String getJavaTypeFromBinaryName(java.lang.String):342:342 -> l
+    1:1:java.lang.String getPackageBinaryNameFromJavaType(java.lang.String):328:328 -> m
+    1:3:java.lang.String getPackageNameFromBinaryName(java.lang.String):460:462 -> n
+    1:1:java.lang.String getPackageNameFromDescriptor(java.lang.String):306:306 -> o
+    1:3:java.lang.String getPathFromDescriptor(java.lang.String):555:557 -> p
+    1:2:java.lang.String getPathFromJavaType(java.lang.String):565:566 -> q
+    1:2:java.lang.String getReturnTypeDescriptor(java.lang.String):575:576 -> r
+    1:1:java.lang.String getUnqualifiedClassNameFromDescriptor(java.lang.String):274:274 -> s
+    2:3:java.lang.String getUnqualifiedClassNameFromBinaryName(java.lang.String):384:385 -> s
+    2:3:java.lang.String getUnqualifiedClassNameFromDescriptor(java.lang.String):274 -> s
+    1:13:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):538:550 -> t
+    14:14:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):548:548 -> t
+    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> t
+    15:15:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):548 -> t
+    16:16:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):548:548 -> t
+    1:8:java.lang.String guessTypeDescriptor(java.lang.String):498:505 -> u
+    9:9:java.lang.String guessTypeDescriptor(java.lang.String):503:503 -> u
+    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> u
+    10:10:java.lang.String guessTypeDescriptor(java.lang.String):503 -> u
+    11:11:java.lang.String guessTypeDescriptor(java.lang.String):503:503 -> u
+    1:26:boolean isClassDescriptor(java.lang.String):417:442 -> v
+    1:1:boolean isDescriptor(java.lang.String):237:237 -> w
+    2:5:boolean isPrimitiveDescriptor(java.lang.String):215:218 -> w
+    2:5:boolean isDescriptor(java.lang.String):238 -> w
+    6:10:boolean isArrayDescriptor(java.lang.String):227:231 -> w
+    6:10:boolean isDescriptor(java.lang.String):239 -> w
+    1:6:boolean isValidJavaType(java.lang.String):123:128 -> x
+    1:2:java.lang.String javaTypeToDescriptor(java.lang.String):67:68 -> y
+    1:2:java.lang.String javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> z
+com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor -> com.android.tools.r8.utils.U$a:
     java.lang.String module -> a
     java.lang.String descriptor -> b
-    1:3:void <init>(java.lang.String,java.lang.String):519:521 -> <init>
-    1:1:java.lang.String getDescriptor():529:529 -> a
-    1:1:java.lang.String getModule():525:525 -> b
-com.android.tools.r8.utils.DexVersion -> com.android.tools.r8.utils.U:
-    byte[] dexVersionBytes -> b
-    com.android.tools.r8.utils.DexVersion[] $VALUES -> g
-    com.android.tools.r8.utils.DexVersion V35 -> c
-    com.android.tools.r8.utils.DexVersion V37 -> d
-    com.android.tools.r8.utils.DexVersion V38 -> e
-    com.android.tools.r8.utils.DexVersion V39 -> f
-    int dexVersion -> a
+    1:3:void <init>(java.lang.String,java.lang.String):517:519 -> <init>
+    1:1:java.lang.String getDescriptor():527:527 -> a
+    1:1:java.lang.String getModule():523:523 -> b
+com.android.tools.r8.utils.DexVersion -> com.android.tools.r8.utils.V:
+    com.android.tools.r8.utils.DexVersion[] $VALUES -> e
+    int dexVersion -> f
+    com.android.tools.r8.utils.DexVersion V35 -> a
+    byte[] dexVersionBytes -> g
+    com.android.tools.r8.utils.DexVersion V37 -> b
+    com.android.tools.r8.utils.DexVersion V38 -> c
+    com.android.tools.r8.utils.DexVersion V39 -> d
     1:4:void <clinit>():13:16 -> <clinit>
     5:5:void <clinit>():12:12 -> <clinit>
     1:3:void <init>(java.lang.String,int,int,byte[]):22:24 -> <init>
@@ -65917,7 +66329,7 @@
     5:5:java.util.Optional getDexVersion(int):87:87 -> b
     6:6:java.util.Optional getDexVersion(int):85:85 -> b
     7:7:java.util.Optional getDexVersion(int):83:83 -> b
-com.android.tools.r8.utils.DirectoryBuilder -> com.android.tools.r8.utils.V:
+com.android.tools.r8.utils.DirectoryBuilder -> com.android.tools.r8.utils.W:
     com.android.tools.r8.origin.Origin origin -> b
     java.nio.file.Path root -> a
     1:3:void <init>(java.nio.file.Path):24:26 -> <init>
@@ -65931,9 +66343,9 @@
     24:24:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):73:73 -> a
     25:25:java.nio.file.Path getPath():83:83 -> a
     1:1:com.android.tools.r8.origin.Origin getOrigin():78:78 -> getOrigin
-com.android.tools.r8.utils.DisjointSets -> com.android.tools.r8.utils.W:
-    java.util.Map parent -> a
-    boolean $assertionsDisabled -> b
+com.android.tools.r8.utils.DisjointSets -> com.android.tools.r8.utils.X:
+    java.util.Map parent -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():16:16 -> <clinit>
     1:4:void <init>():16:19 -> <init>
     1:9:java.util.Set collectSet(java.lang.Object):69:77 -> a
@@ -65947,7 +66359,7 @@
     1:1:java.util.Set lambda$collectSets$0(java.lang.Object):143:143 -> e
     1:3:java.lang.Object makeSet(java.lang.Object):27:29 -> f
     1:12:java.lang.String toString():150:161 -> toString
-com.android.tools.r8.utils.EncodedValueUtils -> com.android.tools.r8.utils.X:
+com.android.tools.r8.utils.EncodedValueUtils -> com.android.tools.r8.utils.Y:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():9:9 -> <clinit>
     1:6:int putBitsFromRightZeroExtended(com.android.tools.r8.dex.DexOutputBuffer,long,int):84:89 -> a
@@ -65963,10 +66375,10 @@
     10:14:int putUnsigned(com.android.tools.r8.dex.DexOutputBuffer,long,int):61:65 -> c
     1:5:long parseUnsigned(com.android.tools.r8.dex.DexReader,int):48:52 -> d
 com.android.tools.r8.utils.ExceptionDiagnostic -> com.android.tools.r8.utils.ExceptionDiagnostic:
-    com.android.tools.r8.origin.Origin origin -> b
-    com.android.tools.r8.position.Position position -> c
-    java.lang.Throwable cause -> a
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.origin.Origin origin -> c
+    com.android.tools.r8.position.Position position -> d
+    java.lang.Throwable cause -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():21:21 -> <clinit>
     1:7:void <init>(java.lang.Throwable,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):28:34 -> <init>
     8:8:void <init>(java.lang.Throwable):38:38 -> <init>
@@ -65976,7 +66388,7 @@
     1:1:java.lang.String getDiagnosticMessage():65:65 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():51:51 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():56:56 -> getPosition
-com.android.tools.r8.utils.ExceptionUtils -> com.android.tools.r8.utils.Y:
+com.android.tools.r8.utils.ExceptionUtils -> com.android.tools.r8.utils.Z:
     void com.android.tools.r8.utils.ForEachableUtils.lambda$empty$0(java.util.function.Consumer) -> a
     1:1:com.android.tools.r8.utils.ForEachable com.android.tools.r8.utils.ForEachableUtils.empty():10:10 -> a
     2:3:java.lang.Object com.android.tools.r8.utils.PredicateUtils.findFirst(java.lang.Object[],java.util.function.Predicate):12:13 -> a
@@ -66028,9 +66440,9 @@
     boolean com.android.tools.r8.utils.IdentifierUtils.isSimpleNameChar(int) -> d
     1:10:com.android.tools.r8.position.Position getPosition(java.lang.Throwable):150:159 -> d
     boolean com.android.tools.r8.utils.IdentifierUtils.isUnicodeSpace(int) -> e
-com.android.tools.r8.utils.ExceptionUtils$CompileAction -> com.android.tools.r8.utils.Y$a:
-com.android.tools.r8.utils.ExceptionUtils$MainAction -> com.android.tools.r8.utils.Y$b:
-com.android.tools.r8.utils.ExceptionUtils$OriginAttachmentException -> com.android.tools.r8.utils.Z:
+com.android.tools.r8.utils.ExceptionUtils$CompileAction -> com.android.tools.r8.utils.Z$a:
+com.android.tools.r8.utils.ExceptionUtils$MainAction -> com.android.tools.r8.utils.Z$b:
+com.android.tools.r8.utils.ExceptionUtils$OriginAttachmentException -> com.android.tools.r8.utils.a0:
     com.android.tools.r8.origin.Origin origin -> a
     com.android.tools.r8.position.Position position -> b
     1:3:void <init>(java.lang.RuntimeException,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):237:239 -> <init>
@@ -66096,10 +66508,10 @@
 com.android.tools.r8.utils.FeatureClassMapping$SpecificationOrigin -> com.android.tools.r8.utils.FeatureClassMapping$e:
     1:1:void <init>(java.nio.file.Path):72:72 -> <init>
     1:1:java.lang.String part():77:77 -> part
-com.android.tools.r8.utils.FieldSignatureEquivalence -> com.android.tools.r8.utils.a0:
-    boolean ignoreName -> a
-    com.android.tools.r8.utils.FieldSignatureEquivalence INSTANCE_IGNORE_NAME -> c
-    com.android.tools.r8.utils.FieldSignatureEquivalence INSTANCE -> b
+com.android.tools.r8.utils.FieldSignatureEquivalence -> com.android.tools.r8.utils.b0:
+    com.android.tools.r8.utils.FieldSignatureEquivalence INSTANCE_IGNORE_NAME -> b
+    boolean ignoreName -> c
+    com.android.tools.r8.utils.FieldSignatureEquivalence INSTANCE -> a
     1:3:void <clinit>():16:18 -> <clinit>
     1:2:void <init>(boolean):23:24 -> <init>
     1:1:com.android.tools.r8.utils.FieldSignatureEquivalence get():28:28 -> c
@@ -66110,7 +66522,7 @@
     1:1:int doHash(java.lang.Object):14:14 -> doHash
     2:5:int doHash(com.android.tools.r8.graph.DexField):45:48 -> doHash
     2:5:int doHash(java.lang.Object):14 -> doHash
-com.android.tools.r8.utils.FileUtils -> com.android.tools.r8.utils.b0:
+com.android.tools.r8.utils.FileUtils -> com.android.tools.r8.utils.c0:
     boolean isAndroid -> a
     boolean $assertionsDisabled -> b
     1:16:void <clinit>():21:36 -> <clinit>
@@ -66131,15 +66543,15 @@
     1:2:boolean isJarFile(java.nio.file.Path):58:59 -> d
     1:2:boolean isZipFile(java.nio.file.Path):63:64 -> e
     1:1:java.util.List readAllLines(java.nio.file.Path):90:90 -> f
-com.android.tools.r8.utils.FilteredArchiveClassFileProvider -> com.android.tools.r8.utils.c0:
+com.android.tools.r8.utils.FilteredArchiveClassFileProvider -> com.android.tools.r8.utils.d0:
     1:1:void <init>(com.android.tools.r8.shaking.FilteredClassPath):13:13 -> <init>
     1:1:boolean lambda$new$0(com.android.tools.r8.shaking.FilteredClassPath,java.lang.String):13:13 -> a
-com.android.tools.r8.utils.FlagFile$FlagFileOrigin -> com.android.tools.r8.utils.d0:
+com.android.tools.r8.utils.FlagFile$FlagFileOrigin -> com.android.tools.r8.utils.e0:
     java.nio.file.Path path -> a
     1:2:void <init>(java.nio.file.Path):23:24 -> <init>
     1:1:java.lang.String part():29:29 -> part
-com.android.tools.r8.utils.ForEachable -> com.android.tools.r8.utils.e0:
-com.android.tools.r8.utils.HeapUtils -> com.android.tools.r8.utils.f0:
+com.android.tools.r8.utils.ForEachable -> com.android.tools.r8.utils.f0:
+com.android.tools.r8.utils.HeapUtils -> com.android.tools.r8.utils.g0:
     com.sun.management.HotSpotDiagnosticMXBean hotSpotDiagnosticMXBean -> a
     1:3:void initHotSpotMBean():19:21 -> a
     1:3:void dumpHeap(java.nio.file.Path,boolean):35 -> a
@@ -66149,35 +66561,35 @@
     6:8:void initHotSpotMBean():22:24 -> a
     6:8:void dumpHeap(java.nio.file.Path,boolean):35 -> a
     9:9:void dumpHeap(java.nio.file.Path,boolean):36:36 -> a
-com.android.tools.r8.utils.IROrdering -> com.android.tools.r8.utils.g0:
+com.android.tools.r8.utils.IROrdering -> com.android.tools.r8.utils.h0:
     java.lang.Iterable order(java.lang.Iterable) -> a
-com.android.tools.r8.utils.IROrdering$IdentityIROrdering -> com.android.tools.r8.utils.g0$a:
+com.android.tools.r8.utils.IROrdering$IdentityIROrdering -> com.android.tools.r8.utils.h0$a:
     com.android.tools.r8.utils.IROrdering$IdentityIROrdering INSTANCE -> a
     1:1:void <clinit>():25:25 -> <clinit>
     1:1:void <init>():27:27 -> <init>
     java.lang.Iterable order(java.lang.Iterable) -> a
     1:1:com.android.tools.r8.utils.IROrdering$IdentityIROrdering getInstance():30:30 -> a
-com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering -> com.android.tools.r8.utils.g0$b:
+com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering -> com.android.tools.r8.utils.h0$b:
     com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering INSTANCE -> a
     1:1:void <clinit>():51:51 -> <clinit>
     1:1:void <init>():53:53 -> <init>
     1:1:com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering getInstance():56:56 -> a
     2:3:java.util.List order(java.lang.Iterable):61:62 -> a
     2:3:java.lang.Iterable order(java.lang.Iterable):49 -> a
-com.android.tools.r8.utils.IntBox -> com.android.tools.r8.utils.h0:
+com.android.tools.r8.utils.IntBox -> com.android.tools.r8.utils.i0:
     int value -> a
     1:1:void <init>():11:11 -> <init>
     2:3:void <init>(int):13:14 -> <init>
     1:1:int getAndIncrement():22:22 -> a
     2:2:void set(int):30:30 -> a
-com.android.tools.r8.utils.IntObjConsumer -> com.android.tools.r8.utils.i0:
+com.android.tools.r8.utils.IntObjConsumer -> com.android.tools.r8.utils.j0:
     void accept(int,java.lang.Object) -> a
-com.android.tools.r8.utils.InternalArchiveClassFileProvider -> com.android.tools.r8.utils.j0:
-    java.util.Set descriptors -> c
-    com.android.tools.r8.origin.Origin origin -> b
-    java.util.zip.ZipFile openedZipFile -> d
-    boolean $assertionsDisabled -> e
-    java.nio.file.Path path -> a
+com.android.tools.r8.utils.InternalArchiveClassFileProvider -> com.android.tools.r8.utils.k0:
+    java.util.zip.ZipFile openedZipFile -> e
+    java.nio.file.Path path -> b
+    com.android.tools.r8.origin.Origin origin -> c
+    java.util.Set descriptors -> d
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():39:39 -> <clinit>
     1:1:void <init>(java.nio.file.Path):52:52 -> <init>
     2:2:void <init>(java.nio.file.Path,java.util.function.Predicate):62:62 -> <init>
@@ -66195,25 +66607,22 @@
     25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> getProgramResource
     25:25:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96 -> getProgramResource
     26:26:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
-com.android.tools.r8.utils.InternalOptions -> com.android.tools.r8.utils.k0:
+com.android.tools.r8.utils.InternalOptions -> com.android.tools.r8.utils.l0:
     java.util.function.BiPredicate dexClassChecksumFilter -> P
     boolean enableValuePropagation -> f0
     com.android.tools.r8.utils.InternalOptions$TestingOptions testing -> V0
-    boolean printMemory -> i
-    java.lang.String dumpInputToFile -> j
     boolean enableEnumSwitchMapRemoval -> b0
-    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> f
-    boolean enableFieldAssignmentTracker -> q
+    boolean libraryInterfacesMayHaveStaticInitialization -> q
     java.util.Set invalidLibraryClasses -> r1
     boolean enableInlining -> y
     com.android.tools.r8.StringConsumer proguardSeedsConsumer -> h1
     boolean debug -> R0
     java.util.function.Consumer syntheticProguardRulesConsumer -> p1
     com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> l1
+    com.android.tools.r8.ProgramConsumer programConsumer -> f
     boolean enableClassStaticizer -> G
     int classInliningInstructionAllowance -> T
     boolean forceProguardCompatibility -> N0
-    boolean printTimes -> h
     com.android.tools.r8.ir.desugar.DesugaredLibraryConfiguration desugaredLibraryConfiguration -> j1
     boolean enableMainDexListCheck -> J0
     com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> m1
@@ -66221,6 +66630,7 @@
     boolean enableNestReduction -> E0
     java.util.Map missingEnclosingMembers -> a1
     boolean enableSideEffectAnalysis -> I
+    boolean printTimes -> j
     boolean enableLoadStoreOptimization -> A0
     com.android.tools.r8.utils.AssertionConfigurationWithDefault assertionsConfiguration -> O0
     int threadCount -> l0
@@ -66228,37 +66638,35 @@
     java.util.Set extensiveInterfaceMethodMinifierLoggingFilter -> u0
     com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions -> S0
     boolean cfToCfDesugar -> Q
-    boolean enableFieldBitAccessAnalysis -> r
+    boolean enableFieldAssignmentTracker -> r
+    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> d
     com.android.tools.r8.DesugarGraphConsumer desugarGraphConsumer -> o1
     boolean enableStringSwitchConversion -> Y
     boolean enableEnumUnboxing -> z
     boolean hasMarker -> r0
-    java.util.List outputInspections -> g
     boolean enableInitializedClassesAnalysis -> H
     int inliningInstructionLimit -> U
     boolean verbose -> n0
     boolean enablePcDebugInfoOutput -> j0
     com.android.tools.r8.utils.OffOrAuto tryWithResourcesDesugaring -> G0
     boolean enableTreeShakingOfLibraryMethodOverrides -> N
-    boolean libraryInterfacesMayHaveStaticInitialization -> o
+    boolean enableNeverMergePrefixes -> o
     boolean enableUninstantiatedTypeOptimization -> g0
-    boolean enableDevirtualization -> w
+    java.lang.String dumpInputToFile -> l
+    com.android.tools.r8.utils.Reporter reporter -> e
+    boolean enableUnusedInterfaceRemoval -> w
+    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> h
     java.util.Set reportedMissingForDesugaring -> q1
-    boolean $assertionsDisabled -> t1
     com.android.tools.r8.StringConsumer mainDexListConsumer -> e1
     boolean disableInliningOfLibraryMethodOverrides -> E
     int inliningInstructionAllowance -> V
     com.android.tools.r8.StringConsumer configurationConsumer -> i1
-    com.android.tools.r8.ProgramConsumer programConsumer -> d
     com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> n1
     boolean enableTreeShaking -> K0
     boolean encodeChecksums -> O
-    boolean enableDynamicTypeOptimization -> p
-    java.lang.String dumpInputToDirectory -> k
     boolean enableLambdaMerging -> B0
-    boolean enableNonNullTracking -> x
+    boolean enableDevirtualization -> x
     java.util.Set extensiveLoggingFilter -> t0
-    com.android.tools.r8.graph.DexItemFactory itemFactory -> a
     com.android.tools.r8.utils.InternalOptions$LineNumberOptimization lineNumberOptimization -> Z0
     int minApiLevel -> w0
     boolean enableClassInlining -> F
@@ -66266,16 +66674,11 @@
     boolean invalidDebugInfoFatal -> o0
     com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> C0
     com.android.tools.r8.utils.OffOrAuto interfaceMethodDesugaring -> F0
-    java.util.Set neverMergePrefixes -> n
-    com.android.tools.r8.DataResourceConsumer dataResourceConsumer -> e
-    boolean enableNeverMergePrefixes -> m
     boolean enableInitializedClassesInInstanceMethodsAnalysis -> d0
     com.android.tools.r8.dex.Marker marker -> s0
     boolean enableNameReflectionOptimization -> L
-    boolean enableArgumentRemoval -> u
+    boolean enableVerticalClassMerging -> u
     boolean minimalMainDex -> X0
-    com.android.tools.r8.utils.Reporter reporter -> c
-    int SUPPORTED_DEX_VERSION -> s1
     boolean configurationDebugging -> P0
     int inliningControlFlowResolutionBlocksThreshold -> X
     com.android.tools.r8.StringConsumer proguardMapConsumer -> f1
@@ -66284,20 +66687,27 @@
     boolean processCovariantReturnTypeAnnotations -> H0
     boolean enableInliningOfInvokesWithClassInitializationSideEffects -> C
     boolean enableStringConcatenationOptimization -> M
+    com.android.tools.r8.graph.DexItemFactory itemFactory -> c
+    boolean passthroughDexCode -> n
     java.util.Map warningInvalidDebugInfo -> c1
+    java.lang.String dumpInputToDirectory -> m
     boolean skipReadingDexCode -> d1
-    boolean enableUnusedInterfaceRemoval -> v
+    boolean enableArgumentRemoval -> v
     boolean intermediate -> x0
+    int SUPPORTED_DEX_VERSION -> a
     boolean ignoreMainDexMissingClasses -> p0
+    java.util.Set neverMergePrefixes -> p
     boolean enableUninstantiatedTypeOptimizationForInterfaces -> h0
     boolean enableInliningOfInvokesWithNullableReceivers -> D
     boolean enableRedundantFieldLoadElimination -> e0
+    com.android.tools.r8.DataResourceConsumer dataResourceConsumer -> g
     boolean enableDeterminismAnalysis -> J
     boolean enableEnumValueOptimization -> a0
+    boolean printMemory -> k
     java.util.List logArgumentsFilter -> z0
     java.util.List methodsFilter -> v0
     boolean enableInheritanceClassInDexDistributor -> Y0
-    boolean enableHorizontalClassMerging -> s
+    boolean enableFieldBitAccessAnalysis -> s
     int minimumStringSwitchSize -> Z
     boolean skipIR -> Q0
     com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions kotlinOptimizationOptions -> U0
@@ -66305,272 +66715,272 @@
     boolean ignoreMissingClasses -> M0
     boolean applyInliningToInlinee -> A
     int callGraphLikelySpuriousCallEdgeThreshold -> R
+    boolean $assertionsDisabled -> b
     boolean lookupLibraryBeforeProgram -> I0
     java.lang.String synthesizedClassPrefix -> k0
     boolean enableNestBasedAccessDesugaring -> D0
     java.util.Map warningInvalidParameterAnnotations -> b1
-    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> b
     boolean enableServiceLoaderRewriting -> K
-    boolean passthroughDexCode -> l
     int applyInliningToInlineeMaxDepth -> B
     boolean readCompileTimeAnnotations -> y0
-    boolean enableVerticalClassMerging -> t
+    boolean enableHorizontalClassMerging -> t
     boolean enableCfByteCodePassThrough -> q0
     boolean useSmaliSyntax -> m0
+    java.util.List outputInspections -> i
     com.android.tools.r8.utils.InternalOptions$OutlineOptions outline -> c0
     int classInliningInstructionLimit -> S
     boolean enableRedundantConstNumberOptimization -> i0
     1:21:void <clinit>():80:100 -> <clinit>
     1:1:void <init>():126:126 -> <init>
-    2:608:void <init>():118:724 -> <init>
-    609:613:void <init>():127:131 -> <init>
-    614:614:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):135:135 -> <init>
-    615:1221:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):118:724 -> <init>
-    1222:1229:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):136:143 -> <init>
-    1230:1230:void <init>(com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):147:147 -> <init>
-    1231:1837:void <init>(com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):118:724 -> <init>
-    1838:1851:void <init>(com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):148:161 -> <init>
-    1:1:void disableNameReflectionOptimization():1245:1245 -> A
+    2:604:void <init>():118:720 -> <init>
+    605:609:void <init>():127:131 -> <init>
+    610:610:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):135:135 -> <init>
+    611:1213:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):118:720 -> <init>
+    1214:1221:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):136:143 -> <init>
+    1222:1222:void <init>(com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):147:147 -> <init>
+    1223:1825:void <init>(com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):118:720 -> <init>
+    1826:1839:void <init>(com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):148:161 -> <init>
+    1:1:void disableNameReflectionOptimization():1241:1241 -> A
     1:5:void enableProtoShrinking():166:170 -> B
-    1:9:java.util.Set getExtensiveInterfaceMethodMinifierLoggingFilter():576:584 -> C
-    1:9:java.util.Set getExtensiveLoggingFilter():550:558 -> D
-    1:1:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():350:350 -> E
-    2:2:boolean isGeneratingDexIndexed():389:389 -> E
-    2:2:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():351 -> E
-    3:3:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():352:352 -> E
-    4:4:boolean isGeneratingDexFilePerClassFile():393:393 -> E
-    4:4:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():353 -> E
-    5:5:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():354:354 -> E
-    6:6:boolean isGeneratingClassFiles():397:397 -> E
-    6:6:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():355 -> E
-    7:9:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():356:358 -> E
+    1:9:java.util.Set getExtensiveInterfaceMethodMinifierLoggingFilter():572:580 -> C
+    1:9:java.util.Set getExtensiveLoggingFilter():546:554 -> D
+    1:1:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():346:346 -> E
+    2:2:boolean isGeneratingDexIndexed():385:385 -> E
+    2:2:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():347 -> E
+    3:3:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():348:348 -> E
+    4:4:boolean isGeneratingDexFilePerClassFile():389:389 -> E
+    4:4:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():349 -> E
+    5:5:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():350:350 -> E
+    6:6:boolean isGeneratingClassFiles():393:393 -> E
+    6:6:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():351 -> E
+    7:9:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():352:354 -> E
     1:1:com.android.tools.r8.shaking.ProguardConfiguration getProguardConfiguration():111:111 -> F
-    1:1:boolean hasConsumer():346:346 -> G
-    1:1:boolean hasMethodsFilter():1016:1016 -> H
+    1:1:boolean hasConsumer():342:342 -> G
+    1:1:boolean hasMethodsFilter():1012:1012 -> H
     1:1:boolean hasProguardConfiguration():107:107 -> I
-    1:1:boolean hasUsageInformationConsumer():671:671 -> J
-    1:1:boolean isDesugaredLibraryCompilation():362:362 -> K
-    1:1:boolean isGeneratingClassFiles():397:397 -> L
-    1:1:boolean isGeneratingDexIndexed():389:389 -> M
-    1:1:boolean isGeneratingDex():385 -> M
-    2:2:boolean isGeneratingDexFilePerClassFile():393:393 -> M
-    2:2:boolean isGeneratingDex():385 -> M
-    1:6:boolean isInterfaceMethodDesugaringEnabled():1310:1315 -> N
-    1:1:boolean isMinifying():492:492 -> O
-    1:1:boolean isShrinking():488:488 -> P
-    1:1:boolean isStringSwitchConversionEnabled():1319:1319 -> Q
-    1:2:boolean keepInnerClassStructure():496:497 -> R
-    1:1:com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions kotlinOptimizationOptions():542:542 -> S
-    1:32:boolean printWarnings():941:972 -> T
-    33:72:boolean printWarnings():968:1007 -> T
-    1:1:com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions protoShrinking():538:538 -> U
-    1:1:int requiredCfVersionForConstClassInstructions():1259:1259 -> V
-    2:2:boolean isGeneratingClassFiles():397:397 -> V
-    2:2:int requiredCfVersionForConstClassInstructions():1259 -> V
-    3:3:int requiredCfVersionForConstClassInstructions():1259:1259 -> V
-    1:1:boolean shouldBackportMethods():370:370 -> W
-    1:4:boolean shouldDesugarNests():435:438 -> X
-    5:5:boolean isGeneratingClassFiles():397:397 -> X
-    5:5:boolean canUseNestBasedAccess():1288 -> X
-    5:5:boolean shouldDesugarNests():438 -> X
-    1:1:boolean shouldKeepStackMapTable():374:374 -> Y
-    2:2:boolean isRelocatorCompilation():366:366 -> Y
-    2:2:boolean shouldKeepStackMapTable():374 -> Y
-    3:4:boolean shouldKeepStackMapTable():374:375 -> Y
-    5:5:boolean isRelocatorCompilation():366:366 -> Y
-    5:5:boolean shouldKeepStackMapTable():376 -> Y
-    6:6:boolean shouldKeepStackMapTable():377:377 -> Y
-    1:1:boolean isShrinking():488:488 -> Z
-    1:1:boolean shouldRerunEnqueuer():381 -> Z
-    2:2:boolean isMinifying():492:492 -> Z
-    2:2:boolean shouldRerunEnqueuer():381 -> Z
-    3:3:boolean shouldRerunEnqueuer():381:381 -> Z
+    1:1:boolean hasUsageInformationConsumer():667:667 -> J
+    1:1:boolean isDesugaredLibraryCompilation():358:358 -> K
+    1:1:boolean isGeneratingClassFiles():393:393 -> L
+    1:1:boolean isGeneratingDexIndexed():385:385 -> M
+    1:1:boolean isGeneratingDex():381 -> M
+    2:2:boolean isGeneratingDexFilePerClassFile():389:389 -> M
+    2:2:boolean isGeneratingDex():381 -> M
+    1:6:boolean isInterfaceMethodDesugaringEnabled():1322:1327 -> N
+    1:1:boolean isMinifying():488:488 -> O
+    1:1:boolean isShrinking():484:484 -> P
+    1:1:boolean isStringSwitchConversionEnabled():1331:1331 -> Q
+    1:2:boolean keepInnerClassStructure():492:493 -> R
+    1:1:com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions kotlinOptimizationOptions():538:538 -> S
+    1:32:boolean printWarnings():937:968 -> T
+    33:72:boolean printWarnings():964:1003 -> T
+    1:1:com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions protoShrinking():534:534 -> U
+    1:1:int requiredCfVersionForConstClassInstructions():1271:1271 -> V
+    2:2:boolean isGeneratingClassFiles():393:393 -> V
+    2:2:int requiredCfVersionForConstClassInstructions():1271 -> V
+    3:3:int requiredCfVersionForConstClassInstructions():1271:1271 -> V
+    1:1:boolean shouldBackportMethods():366:366 -> W
+    1:4:boolean shouldDesugarNests():431:434 -> X
+    5:5:boolean isGeneratingClassFiles():393:393 -> X
+    5:5:boolean canUseNestBasedAccess():1300 -> X
+    5:5:boolean shouldDesugarNests():434 -> X
+    1:1:boolean shouldKeepStackMapTable():370:370 -> Y
+    2:2:boolean isRelocatorCompilation():362:362 -> Y
+    2:2:boolean shouldKeepStackMapTable():370 -> Y
+    3:4:boolean shouldKeepStackMapTable():370:371 -> Y
+    5:5:boolean isRelocatorCompilation():362:362 -> Y
+    5:5:boolean shouldKeepStackMapTable():372 -> Y
+    6:6:boolean shouldKeepStackMapTable():373:373 -> Y
+    1:1:boolean isShrinking():484:484 -> Z
+    1:1:boolean shouldRerunEnqueuer():377 -> Z
+    2:2:boolean isMinifying():488:488 -> Z
+    2:2:boolean shouldRerunEnqueuer():377 -> Z
+    3:3:boolean shouldRerunEnqueuer():377:377 -> Z
     boolean lambda$new$0(java.lang.String,java.lang.Long) -> a
-    1:2:void setMarker(com.android.tools.r8.dex.Marker):309:310 -> a
-    3:4:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):314:315 -> a
-    5:12:com.android.tools.r8.dex.Marker createMarker(com.android.tools.r8.dex.Marker$Tool):322:329 -> a
-    5:12:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):317 -> a
-    13:13:boolean isGeneratingClassFiles():397:397 -> a
-    13:13:com.android.tools.r8.dex.Marker createMarker(com.android.tools.r8.dex.Marker$Tool):330 -> a
-    13:13:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):317 -> a
-    14:23:com.android.tools.r8.dex.Marker createMarker(com.android.tools.r8.dex.Marker$Tool):331:340 -> a
-    14:23:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):317 -> a
-    24:24:boolean assertionsEnabled():711:711 -> a
-    25:25:void errorMissingClassMissingNestHost(com.android.tools.r8.graph.DexClass):727:727 -> a
-    26:26:void errorMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):749:749 -> a
-    27:33:void warningMissingTypeForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):843:849 -> a
-    34:34:void warningMissingTypeForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):844:844 -> a
-    35:36:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):856:857 -> a
-    37:37:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> a
-    37:37:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):859 -> a
-    38:44:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):859:865 -> a
-    45:45:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):857:857 -> a
-    46:53:void warningInvalidLibrarySuperclassForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.Set):875:882 -> a
-    54:54:void warningInvalidLibrarySuperclassForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.Set):876:876 -> a
-    55:58:void warningMissingEnclosingMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,int):887:890 -> a
-    59:63:void warningInvalidParameterAnnotations(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,int,int):895:899 -> a
-    64:70:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):904:910 -> a
-    71:71:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):905:905 -> a
-    72:72:java.util.List lambda$warningInvalidDebugInfo$3(com.android.tools.r8.origin.Origin):909:909 -> a
-    73:93:void warningInvalidSignature(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.origin.Origin,java.lang.String,java.lang.reflect.GenericSignatureFormatError):915:935 -> a
-    94:99:boolean methodMatchesFilter(com.android.tools.r8.graph.DexEncodedMethod):1021:1026 -> a
-    100:101:boolean hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1249:1250 -> a
-    102:102:boolean canUseConstClassInstructions(int):1254:1254 -> a
-    103:103:boolean isGeneratingClassFiles():397:397 -> a
-    103:103:boolean canUseConstClassInstructions(int):1254 -> a
-    104:105:boolean canUseConstClassInstructions(int):1254:1255 -> a
-    1:18:void signalFinishedToConsumers():413:430 -> a0
-    1:1:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions():534:534 -> b
-    2:4:java.lang.String messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):783:785 -> b
-    5:10:java.lang.String messageErrorIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):799:804 -> b
-    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> b
-    11:11:java.lang.String messageErrorIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):804 -> b
-    12:39:java.lang.String messageErrorIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):806:833 -> b
-    40:40:java.util.List lambda$warningInvalidParameterAnnotations$2(com.android.tools.r8.origin.Origin):898:898 -> b
-    1:1:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):765:765 -> c
-    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> c
-    2:2:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):766 -> c
-    3:5:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):767:769 -> c
-    6:6:void errorMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):749:749 -> c
-    6:6:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):770 -> c
-    7:8:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):774:775 -> c
-    9:9:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> c
-    9:9:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):777 -> c
-    10:10:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):777:777 -> c
-    11:11:java.lang.String messageWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):837:837 -> c
-    11:11:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):779 -> c
-    12:12:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):779:779 -> c
-    13:13:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):775:775 -> c
-    14:16:java.lang.String messageWarningMissingNestHost(com.android.tools.r8.graph.DexClass):792:794 -> c
-    17:17:java.util.List lambda$warningMissingEnclosingMember$1(com.android.tools.r8.origin.Origin):889:889 -> c
-    18:18:boolean canHaveArtCheckCastVerifierBug():1644:1644 -> c
-    1:4:void nestDesugaringWarningMissingNestHost(com.android.tools.r8.graph.DexClass):738:741 -> d
-    5:5:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> d
-    5:5:void nestDesugaringWarningMissingNestHost(com.android.tools.r8.graph.DexClass):743 -> d
-    6:8:void nestDesugaringWarningMissingNestHost(com.android.tools.r8.graph.DexClass):743:745 -> d
-    9:9:void nestDesugaringWarningMissingNestHost(com.android.tools.r8.graph.DexClass):741:741 -> d
-    10:10:void errorMissingClassMissingNestHost(com.android.tools.r8.graph.DexClass):727:727 -> d
-    10:10:void nestDesugaringWarningMissingNestHost(com.android.tools.r8.graph.DexClass):739 -> d
-    11:11:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):753:753 -> d
-    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> d
-    12:12:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):754 -> d
-    13:13:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):755:755 -> d
-    14:14:void errorMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):749:749 -> d
-    14:14:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):756 -> d
-    15:15:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):760:760 -> d
-    16:16:java.lang.String messageWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):837:837 -> d
-    16:16:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):760 -> d
-    17:17:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):760:760 -> d
-    18:19:boolean canHaveArtInstanceOfVerifierBug():1599:1600 -> d
-    1:4:void warningMissingClassMissingNestHost(com.android.tools.r8.graph.DexClass):731:734 -> e
-    5:5:void errorMissingClassMissingNestHost(com.android.tools.r8.graph.DexClass):727:727 -> e
-    5:5:void warningMissingClassMissingNestHost(com.android.tools.r8.graph.DexClass):732 -> e
-    6:6:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():1676:1676 -> e
-    1:1:boolean isGeneratingClassFiles():397:397 -> f
-    1:1:boolean canHaveDalvikCatchHandlerVerificationBug():1668 -> f
-    2:2:boolean canHaveDalvikCatchHandlerVerificationBug():1668:1668 -> f
-    1:1:boolean isGeneratingClassFiles():397:397 -> g
-    1:1:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():1690 -> g
-    2:2:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():1690:1690 -> g
-    1:1:boolean isGeneratingClassFiles():397:397 -> h
-    1:1:boolean canInitCauseAfterAssertionErrorObjectConstructor():1346 -> h
-    2:2:boolean canInitCauseAfterAssertionErrorObjectConstructor():1346:1346 -> h
-    1:1:boolean isGeneratingClassFiles():397:397 -> i
-    1:1:boolean canLeaveStaticInterfaceMethodInvokes():1292 -> i
-    2:2:boolean canLeaveStaticInterfaceMethodInvokes():1292:1292 -> i
-    1:1:boolean isGeneratingClassFiles():397:397 -> j
-    1:1:boolean canUseAssertionErrorTwoArgumentConstructor():1336 -> j
-    2:2:boolean canUseAssertionErrorTwoArgumentConstructor():1336:1336 -> j
-    1:1:boolean isGeneratingClassFiles():397:397 -> k
-    1:1:boolean canUseConstantMethodHandle():1272 -> k
-    2:2:boolean canUseConstantMethodHandle():1272:1272 -> k
-    1:1:boolean isGeneratingClassFiles():397:397 -> l
-    1:1:boolean canUseConstantMethodType():1276 -> l
-    2:2:boolean canUseConstantMethodType():1276:1276 -> l
-    1:1:boolean isGeneratingClassFiles():397:397 -> m
-    1:1:boolean canUseDefaultAndStaticInterfaceMethods():1284 -> m
-    2:2:boolean canUseDefaultAndStaticInterfaceMethods():1284:1284 -> m
-    1:2:boolean canUseFilledNewArrayOfObjects():1358:1359 -> n
-    1:1:boolean isGeneratingClassFiles():397:397 -> o
-    1:1:boolean canUseInvokeCustom():1280 -> o
-    2:2:boolean canUseInvokeCustom():1280:1280 -> o
-    1:1:boolean isGeneratingClassFiles():397:397 -> p
-    1:1:boolean canUseInvokePolymorphic():1268 -> p
-    2:2:boolean canUseInvokePolymorphic():1268:1268 -> p
-    1:1:boolean isGeneratingClassFiles():397:397 -> q
-    1:1:boolean canUseInvokePolymorphicOnVarHandle():1264 -> q
-    2:2:boolean canUseInvokePolymorphicOnVarHandle():1264:1264 -> q
-    1:2:boolean canUseMultidex():1323:1324 -> r
-    1:1:boolean isGeneratingClassFiles():397:397 -> s
-    1:1:boolean canUseNotInstruction():1394 -> s
-    2:2:boolean canUseNotInstruction():1394:1394 -> s
-    1:1:boolean isGeneratingClassFiles():397:397 -> t
-    1:1:boolean canUsePrivateInterfaceMethods():1300 -> t
-    2:2:boolean canUsePrivateInterfaceMethods():1300:1300 -> t
-    1:1:boolean canUseRequireNonNull():1328:1328 -> u
-    1:2:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1367:1368 -> v
-    1:1:boolean isGeneratingClassFiles():397:397 -> w
-    1:1:boolean canUseSuppressedExceptions():1332 -> w
-    2:2:boolean canUseSuppressedExceptions():1332:1332 -> w
-    1:1:boolean isGeneratingClassFiles():397:397 -> x
-    1:1:boolean canUseTwrCloseResourceMethod():1296 -> x
-    2:2:boolean canUseTwrCloseResourceMethod():1296:1296 -> x
-    1:4:void disableAllOptimizations():174:177 -> y
-    1:17:void disableGlobalOptimizations():181:197 -> z
-com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions -> com.android.tools.r8.utils.k0$a:
-    boolean enableConstantPropagation -> a
-    boolean enableTypePropagation -> b
-    boolean $assertionsDisabled -> c
-    1:1:void <clinit>():1064:1064 -> <clinit>
-    1:11:void <init>():1064:1074 -> <init>
-    1:2:void disableOptimization():1077:1078 -> a
-    1:2:void access$000(com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions):1064 -> a
-    3:3:void disableTypePropagationForTesting():1082:1082 -> a
-    4:5:void enableConstantPropagationForTesting(com.android.tools.r8.utils.InternalOptions):1088:1089 -> a
-    1:1:boolean isConstantPropagationEnabled():1101:1101 -> b
-    1:1:boolean isEnabled():1097:1097 -> c
-    1:1:boolean isTypePropagationEnabled():1105:1105 -> d
-com.android.tools.r8.utils.InternalOptions$DesugarState -> com.android.tools.r8.utils.k0$b:
+    1:2:void setMarker(com.android.tools.r8.dex.Marker):305:306 -> a
+    3:4:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):310:311 -> a
+    5:12:com.android.tools.r8.dex.Marker createMarker(com.android.tools.r8.dex.Marker$Tool):318:325 -> a
+    5:12:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):313 -> a
+    13:13:boolean isGeneratingClassFiles():393:393 -> a
+    13:13:com.android.tools.r8.dex.Marker createMarker(com.android.tools.r8.dex.Marker$Tool):326 -> a
+    13:13:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):313 -> a
+    14:23:com.android.tools.r8.dex.Marker createMarker(com.android.tools.r8.dex.Marker$Tool):327:336 -> a
+    14:23:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):313 -> a
+    24:24:boolean assertionsEnabled():707:707 -> a
+    25:25:void errorMissingClassMissingNestHost(com.android.tools.r8.graph.DexClass):723:723 -> a
+    26:26:void errorMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):745:745 -> a
+    27:33:void warningMissingTypeForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):839:845 -> a
+    34:34:void warningMissingTypeForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):840:840 -> a
+    35:36:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):852:853 -> a
+    37:37:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> a
+    37:37:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):855 -> a
+    38:44:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):855:861 -> a
+    45:45:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):853:853 -> a
+    46:53:void warningInvalidLibrarySuperclassForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.Set):871:878 -> a
+    54:54:void warningInvalidLibrarySuperclassForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.Set):872:872 -> a
+    55:58:void warningMissingEnclosingMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,int):883:886 -> a
+    59:63:void warningInvalidParameterAnnotations(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,int,int):891:895 -> a
+    64:70:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):900:906 -> a
+    71:71:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):901:901 -> a
+    72:72:java.util.List lambda$warningInvalidDebugInfo$3(com.android.tools.r8.origin.Origin):905:905 -> a
+    73:93:void warningInvalidSignature(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.origin.Origin,java.lang.String,java.lang.reflect.GenericSignatureFormatError):911:931 -> a
+    94:99:boolean methodMatchesFilter(com.android.tools.r8.graph.DexEncodedMethod):1017:1022 -> a
+    100:101:boolean hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1245:1246 -> a
+    102:102:boolean canUseConstClassInstructions(int):1266:1266 -> a
+    103:103:boolean isGeneratingClassFiles():393:393 -> a
+    103:103:boolean canUseConstClassInstructions(int):1266 -> a
+    104:105:boolean canUseConstClassInstructions(int):1266:1267 -> a
+    1:18:void signalFinishedToConsumers():409:426 -> a0
+    1:1:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions():530:530 -> b
+    2:4:java.lang.String messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):779:781 -> b
+    5:10:java.lang.String messageErrorIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):795:800 -> b
+    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> b
+    11:11:java.lang.String messageErrorIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):800 -> b
+    12:39:java.lang.String messageErrorIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):802:829 -> b
+    40:40:java.util.List lambda$warningInvalidParameterAnnotations$2(com.android.tools.r8.origin.Origin):894:894 -> b
+    1:1:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):761:761 -> c
+    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> c
+    2:2:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):762 -> c
+    3:5:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):763:765 -> c
+    6:6:void errorMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):745:745 -> c
+    6:6:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):766 -> c
+    7:8:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):770:771 -> c
+    9:9:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> c
+    9:9:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):773 -> c
+    10:10:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):773:773 -> c
+    11:11:java.lang.String messageWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):833:833 -> c
+    11:11:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):775 -> c
+    12:12:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):775:775 -> c
+    13:13:void nestDesugaringWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):771:771 -> c
+    14:16:java.lang.String messageWarningMissingNestHost(com.android.tools.r8.graph.DexClass):788:790 -> c
+    17:17:java.util.List lambda$warningMissingEnclosingMember$1(com.android.tools.r8.origin.Origin):885:885 -> c
+    18:18:boolean canHaveArtCheckCastVerifierBug():1656:1656 -> c
+    1:4:void nestDesugaringWarningMissingNestHost(com.android.tools.r8.graph.DexClass):734:737 -> d
+    5:5:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> d
+    5:5:void nestDesugaringWarningMissingNestHost(com.android.tools.r8.graph.DexClass):739 -> d
+    6:8:void nestDesugaringWarningMissingNestHost(com.android.tools.r8.graph.DexClass):739:741 -> d
+    9:9:void nestDesugaringWarningMissingNestHost(com.android.tools.r8.graph.DexClass):737:737 -> d
+    10:10:void errorMissingClassMissingNestHost(com.android.tools.r8.graph.DexClass):723:723 -> d
+    10:10:void nestDesugaringWarningMissingNestHost(com.android.tools.r8.graph.DexClass):735 -> d
+    11:11:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):749:749 -> d
+    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> d
+    12:12:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):750 -> d
+    13:13:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):751:751 -> d
+    14:14:void errorMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):745:745 -> d
+    14:14:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):752 -> d
+    15:15:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):756:756 -> d
+    16:16:java.lang.String messageWarningIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):833:833 -> d
+    16:16:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):756 -> d
+    17:17:void warningMissingClassIncompleteNest(java.util.List,com.android.tools.r8.graph.AppView):756:756 -> d
+    18:19:boolean canHaveArtInstanceOfVerifierBug():1611:1612 -> d
+    1:4:void warningMissingClassMissingNestHost(com.android.tools.r8.graph.DexClass):727:730 -> e
+    5:5:void errorMissingClassMissingNestHost(com.android.tools.r8.graph.DexClass):723:723 -> e
+    5:5:void warningMissingClassMissingNestHost(com.android.tools.r8.graph.DexClass):728 -> e
+    6:6:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():1688:1688 -> e
+    1:1:boolean isGeneratingClassFiles():393:393 -> f
+    1:1:boolean canHaveDalvikCatchHandlerVerificationBug():1680 -> f
+    2:2:boolean canHaveDalvikCatchHandlerVerificationBug():1680:1680 -> f
+    1:1:boolean isGeneratingClassFiles():393:393 -> g
+    1:1:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():1702 -> g
+    2:2:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():1702:1702 -> g
+    1:1:boolean isGeneratingClassFiles():393:393 -> h
+    1:1:boolean canInitCauseAfterAssertionErrorObjectConstructor():1358 -> h
+    2:2:boolean canInitCauseAfterAssertionErrorObjectConstructor():1358:1358 -> h
+    1:1:boolean isGeneratingClassFiles():393:393 -> i
+    1:1:boolean canLeaveStaticInterfaceMethodInvokes():1304 -> i
+    2:2:boolean canLeaveStaticInterfaceMethodInvokes():1304:1304 -> i
+    1:1:boolean isGeneratingClassFiles():393:393 -> j
+    1:1:boolean canUseAssertionErrorTwoArgumentConstructor():1348 -> j
+    2:2:boolean canUseAssertionErrorTwoArgumentConstructor():1348:1348 -> j
+    1:1:boolean isGeneratingClassFiles():393:393 -> k
+    1:1:boolean canUseConstantMethodHandle():1284 -> k
+    2:2:boolean canUseConstantMethodHandle():1284:1284 -> k
+    1:1:boolean isGeneratingClassFiles():393:393 -> l
+    1:1:boolean canUseConstantMethodType():1288 -> l
+    2:2:boolean canUseConstantMethodType():1288:1288 -> l
+    1:1:boolean isGeneratingClassFiles():393:393 -> m
+    1:1:boolean canUseDefaultAndStaticInterfaceMethods():1296 -> m
+    2:2:boolean canUseDefaultAndStaticInterfaceMethods():1296:1296 -> m
+    1:2:boolean canUseFilledNewArrayOfObjects():1370:1371 -> n
+    1:1:boolean isGeneratingClassFiles():393:393 -> o
+    1:1:boolean canUseInvokeCustom():1292 -> o
+    2:2:boolean canUseInvokeCustom():1292:1292 -> o
+    1:1:boolean isGeneratingClassFiles():393:393 -> p
+    1:1:boolean canUseInvokePolymorphic():1280 -> p
+    2:2:boolean canUseInvokePolymorphic():1280:1280 -> p
+    1:1:boolean isGeneratingClassFiles():393:393 -> q
+    1:1:boolean canUseInvokePolymorphicOnVarHandle():1276 -> q
+    2:2:boolean canUseInvokePolymorphicOnVarHandle():1276:1276 -> q
+    1:2:boolean canUseMultidex():1335:1336 -> r
+    1:1:boolean isGeneratingClassFiles():393:393 -> s
+    1:1:boolean canUseNotInstruction():1406 -> s
+    2:2:boolean canUseNotInstruction():1406:1406 -> s
+    1:1:boolean isGeneratingClassFiles():393:393 -> t
+    1:1:boolean canUsePrivateInterfaceMethods():1312 -> t
+    2:2:boolean canUsePrivateInterfaceMethods():1312:1312 -> t
+    1:1:boolean canUseRequireNonNull():1340:1340 -> u
+    1:2:boolean canUseSameArrayAndResultRegisterInArrayGetWide():1379:1380 -> v
+    1:1:boolean isGeneratingClassFiles():393:393 -> w
+    1:1:boolean canUseSuppressedExceptions():1344 -> w
+    2:2:boolean canUseSuppressedExceptions():1344:1344 -> w
+    1:1:boolean isGeneratingClassFiles():393:393 -> x
+    1:1:boolean canUseTwrCloseResourceMethod():1308 -> x
+    2:2:boolean canUseTwrCloseResourceMethod():1308:1308 -> x
+    1:3:void disableAllOptimizations():174:176 -> y
+    1:16:void disableGlobalOptimizations():180:195 -> z
+com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions -> com.android.tools.r8.utils.l0$a:
+    boolean $assertionsDisabled -> a
+    boolean enableConstantPropagation -> b
+    boolean enableTypePropagation -> c
+    1:1:void <clinit>():1060:1060 -> <clinit>
+    1:11:void <init>():1060:1070 -> <init>
+    1:2:void disableOptimization():1073:1074 -> a
+    1:2:void access$000(com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions):1060 -> a
+    3:3:void disableTypePropagationForTesting():1078:1078 -> a
+    4:5:void enableConstantPropagationForTesting(com.android.tools.r8.utils.InternalOptions):1084:1085 -> a
+    1:1:boolean isConstantPropagationEnabled():1097:1097 -> b
+    1:1:boolean isEnabled():1093:1093 -> c
+    1:1:boolean isTypePropagationEnabled():1101:1101 -> d
+com.android.tools.r8.utils.InternalOptions$DesugarState -> com.android.tools.r8.utils.l0$b:
     com.android.tools.r8.utils.InternalOptions$DesugarState ONLY_BACKPORT_STATICS -> b
     com.android.tools.r8.utils.InternalOptions$DesugarState ON -> c
     com.android.tools.r8.utils.InternalOptions$DesugarState OFF -> a
     1:4:void <clinit>():92:95 -> <clinit>
     1:1:void <init>(java.lang.String,int):91:91 -> <init>
-com.android.tools.r8.utils.InternalOptions$InvalidParameterAnnotationInfo -> com.android.tools.r8.utils.k0$c:
+com.android.tools.r8.utils.InternalOptions$InvalidParameterAnnotationInfo -> com.android.tools.r8.utils.l0$c:
     int expectedParameterCount -> b
     int actualParameterCount -> c
     com.android.tools.r8.graph.DexMethod method -> a
-    1:4:void <init>(com.android.tools.r8.graph.DexMethod,int,int):628:631 -> <init>
-com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions -> com.android.tools.r8.utils.k0$d:
+    1:4:void <init>(com.android.tools.r8.graph.DexMethod,int,int):624:627 -> <init>
+com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions -> com.android.tools.r8.utils.l0$d:
     boolean disableKotlinSpecificOptimizations -> a
-    1:3:void <init>():1059:1061 -> <init>
-com.android.tools.r8.utils.InternalOptions$LineNumberOptimization -> com.android.tools.r8.utils.k0$e:
+    1:3:void <init>():1055:1057 -> <init>
+com.android.tools.r8.utils.InternalOptions$LineNumberOptimization -> com.android.tools.r8.utils.l0$e:
     com.android.tools.r8.utils.InternalOptions$LineNumberOptimization ON -> b
     com.android.tools.r8.utils.InternalOptions$LineNumberOptimization OFF -> a
     1:2:void <clinit>():87:88 -> <clinit>
     1:1:void <init>(java.lang.String,int):86:86 -> <init>
-com.android.tools.r8.utils.InternalOptions$OutlineOptions -> com.android.tools.r8.utils.k0$f:
+com.android.tools.r8.utils.InternalOptions$OutlineOptions -> com.android.tools.r8.utils.l0$f:
     int threshold -> d
     boolean enabled -> a
     int minSize -> b
     int maxSize -> c
-    1:9:void <init>():1048:1056 -> <init>
-com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode -> com.android.tools.r8.utils.k0$g:
+    1:9:void <init>():1044:1052 -> <init>
+com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode -> com.android.tools.r8.utils.l0$g:
     com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode[] $VALUES -> d
     com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode FLATTEN -> c
     com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode REPACKAGE -> b
     com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode NONE -> a
-    1:5:void <clinit>():1041:1045 -> <clinit>
-    6:6:void <clinit>():1039:1039 -> <clinit>
-    1:1:void <init>(java.lang.String,int):1039:1039 -> <init>
-com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions -> com.android.tools.r8.utils.k0$h:
+    1:5:void <clinit>():1037:1041 -> <clinit>
+    6:6:void <clinit>():1035:1035 -> <clinit>
+    1:1:void <init>(java.lang.String,int):1035:1035 -> <init>
+com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions -> com.android.tools.r8.utils.l0$h:
     boolean enableGeneratedExtensionRegistryShrinking -> a
     boolean enableGeneratedMessageLiteShrinking -> b
     boolean enableGeneratedMessageLiteBuilderShrinking -> c
     boolean traverseOneOfAndRepeatedProtoFields -> d
-    1:6:void <init>():1109:1114 -> <init>
-    1:1:boolean isProtoShrinkingEnabled():1117:1117 -> a
-com.android.tools.r8.utils.InternalOptions$TestingOptions -> com.android.tools.r8.utils.k0$i:
+    1:6:void <init>():1105:1110 -> <init>
+    1:1:boolean isProtoShrinkingEnabled():1113:1113 -> a
+com.android.tools.r8.utils.InternalOptions$TestingOptions -> com.android.tools.r8.utils.l0$i:
     boolean reportUnusedProguardConfigurationRules -> m
     boolean readInputStackMaps -> N
     boolean enableDeadSwitchCaseElimination -> o
@@ -66618,22 +67028,22 @@
     boolean forceLibBackportsInL8CfToCf -> H
     java.lang.Runnable hookInIrConversion -> Q
     boolean dontReportFailingCheckDiscarded -> D
-    1:116:void <init>():1123:1238 -> <init>
+    1:116:void <init>():1119:1234 -> <init>
     void lambda$new$0(java.util.Deque) -> a
-com.android.tools.r8.utils.InternalOptions$TestingOptions$MinifierTestingOptions -> com.android.tools.r8.utils.k0$i$a:
+com.android.tools.r8.utils.InternalOptions$TestingOptions$MinifierTestingOptions -> com.android.tools.r8.utils.l0$i$a:
     java.util.Comparator interfaceMethodOrdering -> a
-    1:3:void <init>():1213:1215 -> <init>
-    1:2:java.util.Comparator getInterfaceMethodOrderingOrDefault(java.util.Comparator):1219:1220 -> a
-    3:3:int lambda$getInterfaceMethodOrderingOrDefault$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):1220:1220 -> a
-com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData -> com.android.tools.r8.utils.k0$i$b:
+    1:3:void <init>():1209:1211 -> <init>
+    1:2:java.util.Comparator getInterfaceMethodOrderingOrDefault(java.util.Comparator):1215:1216 -> a
+    3:3:int lambda$getInterfaceMethodOrderingOrDefault$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):1216:1216 -> a
+com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData -> com.android.tools.r8.utils.l0$i$b:
     int numberOfProguardIfRuleMemberEvaluations -> b
     int numberOfProguardIfRuleClassEvaluations -> a
-    1:4:void <init>():1230:1233 -> <init>
-com.android.tools.r8.utils.InternalOptions$TypeVersionPair -> com.android.tools.r8.utils.k0$j:
+    1:4:void <init>():1226:1229 -> <init>
+com.android.tools.r8.utils.InternalOptions$TypeVersionPair -> com.android.tools.r8.utils.l0$j:
     com.android.tools.r8.graph.DexType type -> b
     int version -> a
-    1:3:void <init>(int,com.android.tools.r8.graph.DexType):640:642 -> <init>
-com.android.tools.r8.utils.InternalOutputMode -> com.android.tools.r8.utils.l0:
+    1:3:void <init>(int,com.android.tools.r8.graph.DexType):636:638 -> <init>
+com.android.tools.r8.utils.InternalOutputMode -> com.android.tools.r8.utils.m0:
     com.android.tools.r8.utils.InternalOutputMode DexIndexed -> a
     com.android.tools.r8.utils.InternalOutputMode DexFilePerClassFile -> b
     com.android.tools.r8.utils.InternalOutputMode ClassFile -> c
@@ -66641,7 +67051,7 @@
     1:1:void <init>(java.lang.String,int):7:7 -> <init>
     1:1:boolean isGeneratingClassFiles():13:13 -> a
     1:1:boolean isGeneratingDex():17:17 -> b
-com.android.tools.r8.utils.IterableUtils -> com.android.tools.r8.utils.m0:
+com.android.tools.r8.utils.IterableUtils -> com.android.tools.r8.utils.n0:
     1:1:java.lang.Iterable filter(java.lang.Iterable,java.util.function.Predicate):36:36 -> a
     2:2:int size(java.lang.Iterable):41:41 -> a
     1:2:int firstIndexMatching(java.lang.Iterable,java.util.function.Predicate):26:27 -> b
@@ -66649,7 +67059,7 @@
     1:1:java.util.Iterator lambda$filter$0(java.lang.Iterable,java.util.function.Predicate):36:36 -> c
     2:23:java.util.Iterator com.android.tools.r8.utils.IteratorUtils.filter(java.util.Iterator,java.util.function.Predicate):0:21 -> c
     2:23:java.util.Iterator lambda$filter$0(java.lang.Iterable,java.util.function.Predicate):36 -> c
-com.android.tools.r8.utils.IteratorUtils -> com.android.tools.r8.utils.o0:
+com.android.tools.r8.utils.IteratorUtils -> com.android.tools.r8.utils.p0:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():17:17 -> <clinit>
     1:1:java.util.Iterator filter(java.util.Iterator,java.util.function.Predicate):21:21 -> a
@@ -66657,16 +67067,16 @@
     6:18:boolean anyRemainingMatch(java.util.ListIterator,java.util.function.Predicate):104:116 -> a
     1:3:java.lang.Object peekPrevious(java.util.ListIterator):54:56 -> b
     4:7:void removeIf(java.util.Iterator,java.util.function.Predicate):81:84 -> b
-com.android.tools.r8.utils.IteratorUtils$1 -> com.android.tools.r8.utils.n0:
+com.android.tools.r8.utils.IteratorUtils$1 -> com.android.tools.r8.utils.o0:
     java.util.Iterator val$iterator -> b
     java.util.function.Predicate val$predicate -> c
     java.lang.Object next -> a
     1:3:void <init>(java.util.Iterator,java.util.function.Predicate):21:23 -> <init>
     1:1:boolean hasNext():38:38 -> hasNext
-    1:3:java.lang.Object advance():27:29 -> k
+    1:3:java.lang.Object advance():27:29 -> l
     1:5:java.lang.Object next():43:47 -> next
     6:6:java.lang.Object next():45:45 -> next
-com.android.tools.r8.utils.LRUCacheTable -> com.android.tools.r8.utils.q0:
+com.android.tools.r8.utils.LRUCacheTable -> com.android.tools.r8.utils.r0:
     int columnCapacity -> b
     int rowCapacity -> a
     1:3:void <init>(int,int,float):31:33 -> <init>
@@ -66674,15 +67084,15 @@
     2:3:java.lang.Object put(java.lang.Object,java.lang.Object,java.lang.Object):46:47 -> a
     1:1:com.android.tools.r8.utils.LRUCacheTable create(int,int):37:37 -> b
     1:1:boolean removeEldestEntry(java.util.Map$Entry):42:42 -> removeEldestEntry
-com.android.tools.r8.utils.LRUCacheTable$LRUCacheRow -> com.android.tools.r8.utils.p0:
+com.android.tools.r8.utils.LRUCacheTable$LRUCacheRow -> com.android.tools.r8.utils.q0:
     int columnCapacity -> a
     1:2:void <init>(int,float):17:18 -> <init>
     1:1:boolean removeEldestEntry(java.util.Map$Entry):23:23 -> removeEldestEntry
-com.android.tools.r8.utils.LazyBox -> com.android.tools.r8.utils.r0:
+com.android.tools.r8.utils.LazyBox -> com.android.tools.r8.utils.s0:
     java.util.function.Supplier supplier -> b
     1:2:void <init>(java.util.function.Supplier):13:14 -> <init>
     1:1:java.lang.Object computeIfAbsent():18:18 -> c
-com.android.tools.r8.utils.LebUtils -> com.android.tools.r8.utils.s0:
+com.android.tools.r8.utils.LebUtils -> com.android.tools.r8.utils.t0:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():10:10 -> <clinit>
     1:6:int parseSleb128(com.android.tools.r8.dex.BinaryReader):65:70 -> a
@@ -66693,7 +67103,7 @@
     17:21:void putUleb128(com.android.tools.r8.dex.DexOutputBuffer,int):48:52 -> b
     1:1:int sizeAsSleb128(int):110:110 -> c
     1:1:int sizeAsUleb128(int):57:57 -> d
-com.android.tools.r8.utils.LibraryClassCollection -> com.android.tools.r8.utils.t0:
+com.android.tools.r8.utils.LibraryClassCollection -> com.android.tools.r8.utils.u0:
     1:1:void <init>(com.android.tools.r8.utils.ClassProvider):15:15 -> <init>
     1:1:java.util.function.Supplier getTransparentSupplier(com.android.tools.r8.graph.DexClass):13:13 -> a
     2:2:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):13:13 -> a
@@ -66703,109 +67113,109 @@
     6:6:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):13 -> a
     1:1:com.android.tools.r8.graph.ClassKind getClassKind():34:34 -> c
     1:1:java.lang.String toString():39:39 -> toString
-com.android.tools.r8.utils.LineNumberOptimizer -> com.android.tools.r8.utils.C0:
+com.android.tools.r8.utils.LineNumberOptimizer -> com.android.tools.r8.utils.D0:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():61:61 -> <clinit>
     1:1:void access$1200(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):61:61 -> a
     2:2:com.android.tools.r8.ir.code.Position access$900(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):61:61 -> a
     3:16:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):270:283 -> a
-    17:19:void addClassToClassNaming(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,java.util.function.Supplier):515:517 -> a
+    17:19:void addClassToClassNaming(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,java.util.function.Supplier):522:524 -> a
     17:19:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):291 -> a
     20:61:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):294:335 -> a
-    62:62:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPcAsDebugInformation():1305:1305 -> a
+    62:62:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPcAsDebugInformation():1317:1317 -> a
     62:62:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):335 -> a
     63:63:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):335:335 -> a
-    64:67:void optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):708:711 -> a
+    64:67:void optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):715:718 -> a
     64:67:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):336 -> a
     68:68:void com.android.tools.r8.utils.Pair.<init>():20:20 -> a
-    68:68:void optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):711 -> a
+    68:68:void optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):718 -> a
     68:68:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):336 -> a
-    69:102:void optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):713:746 -> a
+    69:102:void optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):720:753 -> a
     69:102:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):336 -> a
-    103:111:void optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):743:751 -> a
+    103:111:void optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):750:758 -> a
     103:111:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):336 -> a
-    112:207:void optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,boolean):602:697 -> a
+    112:207:void optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,boolean):609:704 -> a
     112:207:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):338 -> a
-    208:211:boolean verifyIdentityMapping(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.graph.DexDebugInfo):756:759 -> a
-    208:211:void optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,boolean):698 -> a
+    208:211:boolean verifyIdentityMapping(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.graph.DexDebugInfo):763:766 -> a
+    208:211:void optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,boolean):705 -> a
     208:211:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):338 -> a
-    212:212:void optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,boolean):700:700 -> a
+    212:212:void optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,boolean):707:707 -> a
     212:212:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):338 -> a
     213:215:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):341:343 -> a
-    216:239:void optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,com.android.tools.r8.graph.AppView):770:793 -> a
+    216:239:void optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,com.android.tools.r8.graph.AppView):777:800 -> a
     216:239:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):344 -> a
-    240:240:void optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,com.android.tools.r8.graph.AppView):786:786 -> a
+    240:240:void optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,com.android.tools.r8.graph.AppView):793:793 -> a
     240:240:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):344 -> a
     241:272:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):348:379 -> a
     273:273:void com.android.tools.r8.naming.MemberNaming.<init>(com.android.tools.r8.naming.MemberNaming$Signature,java.lang.String):61:61 -> a
     273:273:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):379 -> a
-    274:314:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):380:420 -> a
-    315:325:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):418:428 -> a
-    326:338:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):425:437 -> a
-    339:340:com.android.tools.r8.naming.ClassNaming$Builder lambda$run$0(com.android.tools.r8.naming.ClassNameMapper$Builder,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):286:287 -> a
-    341:341:com.android.tools.r8.naming.ClassNaming$Builder lambda$run$0(com.android.tools.r8.naming.ClassNameMapper$Builder,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):285:285 -> a
-    342:343:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$2(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):371:372 -> a
-    344:346:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):375:375 -> a
-    347:360:int getMethodStartLine(com.android.tools.r8.graph.DexEncodedMethod):477:490 -> a
-    361:361:void sortMethods(java.util.List):499:499 -> a
-    362:363:int lambda$sortMethods$3(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):501:502 -> a
-    364:364:int com.android.tools.r8.graph.DexEncodedMethod.slowCompare(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1220:1220 -> a
-    364:364:int lambda$sortMethods$3(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):505 -> a
-    365:365:void addFieldsToClassNaming(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):526:526 -> a
-    366:372:void lambda$addFieldsToClassNaming$4(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):528:534 -> a
-    373:373:void com.android.tools.r8.naming.MemberNaming.<init>(com.android.tools.r8.naming.MemberNaming$Signature,java.lang.String):61:61 -> a
-    373:373:void lambda$addFieldsToClassNaming$4(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):534 -> a
-    374:374:void lambda$addFieldsToClassNaming$4(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):535:535 -> a
-    375:382:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):542:549 -> a
-    383:390:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):560:567 -> a
-    383:390:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):550 -> a
-    391:393:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):551:553 -> a
-    394:394:java.util.List lambda$groupMethodsByRenamedName$5(com.android.tools.r8.graph.DexString):552:552 -> a
-    395:400:boolean doesContainPositions(com.android.tools.r8.graph.DexCode):573:578 -> a
-    401:403:boolean doesContainPositions(com.android.tools.r8.graph.CfCode):586:588 -> a
-    1:4:com.android.tools.r8.ir.code.Position remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):799:802 -> b
-    5:8:void remapAndAddForPc(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):814:817 -> b
-com.android.tools.r8.utils.LineNumberOptimizer$1 -> com.android.tools.r8.utils.u0:
-    boolean $assertionsDisabled -> m
+    274:321:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):380:427 -> a
+    322:332:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):425:435 -> a
+    333:345:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens):432:444 -> a
+    346:347:com.android.tools.r8.naming.ClassNaming$Builder lambda$run$0(com.android.tools.r8.naming.ClassNameMapper$Builder,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):286:287 -> a
+    348:348:com.android.tools.r8.naming.ClassNaming$Builder lambda$run$0(com.android.tools.r8.naming.ClassNameMapper$Builder,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):285:285 -> a
+    349:350:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$2(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):371:372 -> a
+    351:353:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):375:375 -> a
+    354:367:int getMethodStartLine(com.android.tools.r8.graph.DexEncodedMethod):484:497 -> a
+    368:368:void sortMethods(java.util.List):506:506 -> a
+    369:370:int lambda$sortMethods$3(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):508:509 -> a
+    371:371:int com.android.tools.r8.graph.DexEncodedMethod.slowCompare(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1227:1227 -> a
+    371:371:int lambda$sortMethods$3(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):512 -> a
+    372:372:void addFieldsToClassNaming(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):533:533 -> a
+    373:379:void lambda$addFieldsToClassNaming$4(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):535:541 -> a
+    380:380:void com.android.tools.r8.naming.MemberNaming.<init>(com.android.tools.r8.naming.MemberNaming$Signature,java.lang.String):61:61 -> a
+    380:380:void lambda$addFieldsToClassNaming$4(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):541 -> a
+    381:381:void lambda$addFieldsToClassNaming$4(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):542:542 -> a
+    382:389:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):549:556 -> a
+    390:397:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):567:574 -> a
+    390:397:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):557 -> a
+    398:400:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLense,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):558:560 -> a
+    401:401:java.util.List lambda$groupMethodsByRenamedName$5(com.android.tools.r8.graph.DexString):559:559 -> a
+    402:407:boolean doesContainPositions(com.android.tools.r8.graph.DexCode):580:585 -> a
+    408:410:boolean doesContainPositions(com.android.tools.r8.graph.CfCode):593:595 -> a
+    1:4:com.android.tools.r8.ir.code.Position remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):806:809 -> b
+    5:8:void remapAndAddForPc(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):821:824 -> b
+com.android.tools.r8.utils.LineNumberOptimizer$1 -> com.android.tools.r8.utils.v0:
+    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper val$positionRemapper -> j
+    com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter val$positionEventEmitter -> i
+    com.android.tools.r8.utils.Box val$inlinedOriginalPosition -> l
+    int emittedPc -> h
+    boolean $assertionsDisabled -> g
+    java.util.List val$processedEvents -> m
+    java.util.List val$mappedPositions -> k
+    1:1:void <clinit>():621:621 -> <clinit>
+    1:4:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,com.android.tools.r8.utils.Box,java.util.List):621:624 -> <init>
+    1:14:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):637:650 -> a
+    15:15:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):659:659 -> a
+    16:16:void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd):664:664 -> a
+    17:17:void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin):669:669 -> a
+    18:19:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):676:677 -> a
+    20:21:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):682:683 -> a
+    22:23:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):688:689 -> a
+    1:3:void flushPc():628:630 -> f
+com.android.tools.r8.utils.LineNumberOptimizer$2 -> com.android.tools.r8.utils.w0:
+    com.android.tools.r8.utils.Pair val$lastPosition -> h
     com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper val$positionRemapper -> i
-    com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter val$positionEventEmitter -> h
-    com.android.tools.r8.utils.Box val$inlinedOriginalPosition -> k
     java.util.List val$mappedPositions -> j
-    int emittedPc -> g
-    java.util.List val$processedEvents -> l
-    1:1:void <clinit>():614:614 -> <clinit>
-    1:4:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,com.android.tools.r8.utils.Box,java.util.List):614:617 -> <init>
-    1:14:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):630:643 -> a
-    15:15:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):652:652 -> a
-    16:16:void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd):657:657 -> a
-    17:17:void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin):662:662 -> a
-    18:19:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):669:670 -> a
-    20:21:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):675:676 -> a
-    22:23:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):681:682 -> a
-    1:3:void flushPc():621:623 -> f
-com.android.tools.r8.utils.LineNumberOptimizer$2 -> com.android.tools.r8.utils.v0:
-    com.android.tools.r8.utils.Pair val$lastPosition -> g
-    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper val$positionRemapper -> h
-    boolean $assertionsDisabled -> j
-    java.util.List val$mappedPositions -> i
-    1:1:void <clinit>():714:714 -> <clinit>
-    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):714:714 -> <init>
-    1:7:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):717:723 -> a
-    8:21:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):720:733 -> a
-    22:22:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):728:728 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$IdentityPositionRemapper -> com.android.tools.r8.utils.w0:
+    boolean $assertionsDisabled -> g
+    1:1:void <clinit>():721:721 -> <clinit>
+    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):721:721 -> <init>
+    1:7:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):724:730 -> a
+    8:21:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):727:740 -> a
+    22:22:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):735:735 -> a
+com.android.tools.r8.utils.LineNumberOptimizer$IdentityPositionRemapper -> com.android.tools.r8.utils.x0:
     1:1:void <init>():69:69 -> <init>
     2:2:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):69:69 -> <init>
     1:1:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):73:73 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper -> com.android.tools.r8.utils.x0:
-    com.android.tools.r8.graph.DexItemFactory factory -> b
-    com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parsedData -> g
-    java.util.Map parsedKotlinSourceDebugExtensions -> c
-    com.android.tools.r8.graph.AppView appView -> a
-    com.android.tools.r8.utils.CfLineToMethodMapper lineToMethodMapper -> d
-    boolean $assertionsDisabled -> h
-    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper baseRemapper -> e
-    com.android.tools.r8.graph.DexEncodedMethod currentMethod -> f
+com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper -> com.android.tools.r8.utils.y0:
+    com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parsedData -> h
+    com.android.tools.r8.graph.DexItemFactory factory -> c
+    java.util.Map parsedKotlinSourceDebugExtensions -> d
+    com.android.tools.r8.graph.AppView appView -> b
+    com.android.tools.r8.utils.CfLineToMethodMapper lineToMethodMapper -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper baseRemapper -> f
+    com.android.tools.r8.graph.DexEncodedMethod currentMethod -> g
     1:1:void <clinit>():110:110 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper,com.android.tools.r8.utils.LineNumberOptimizer$1):110:110 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper):125:125 -> <init>
@@ -66814,7 +67224,7 @@
     2:4:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):134:136 -> a
     5:11:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):182:188 -> a
     5:11:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):136 -> a
-    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):246:246 -> a
+    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppView.definitionFor(com.android.tools.r8.graph.DexType):237:237 -> a
     12:12:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):188 -> a
     12:12:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):136 -> a
     13:18:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):189:194 -> a
@@ -66828,7 +67238,7 @@
     40:42:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):156 -> a
     43:53:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):157:167 -> a
     54:68:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):164:178 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition -> com.android.tools.r8.utils.y0:
+com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition -> com.android.tools.r8.utils.z0:
     int obfuscatedLine -> d
     int originalLine -> b
     com.android.tools.r8.ir.code.Position caller -> c
@@ -66839,24 +67249,24 @@
     1:1:int access$400(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):248:248 -> b
     1:1:com.android.tools.r8.graph.DexMethod access$500(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):248:248 -> c
     1:1:com.android.tools.r8.ir.code.Position access$600(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):248:248 -> d
-com.android.tools.r8.utils.LineNumberOptimizer$OptimizingPositionRemapper -> com.android.tools.r8.utils.z0:
-    boolean $assertionsDisabled -> e
-    int nextOptimizedLineNumber -> d
-    com.android.tools.r8.graph.DexMethod previousMethod -> b
-    int previousSourceLine -> c
-    int maxLineDelta -> a
+com.android.tools.r8.utils.LineNumberOptimizer$OptimizingPositionRemapper -> com.android.tools.r8.utils.A0:
+    int previousSourceLine -> d
+    int nextOptimizedLineNumber -> e
+    boolean $assertionsDisabled -> a
+    int maxLineDelta -> b
+    com.android.tools.r8.graph.DexMethod previousMethod -> c
     1:1:void <clinit>():77:77 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.InternalOptions):83:83 -> <init>
     2:10:void <init>(com.android.tools.r8.utils.InternalOptions):79:87 -> <init>
     1:15:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):92:106 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter -> com.android.tools.r8.utils.A0:
-    java.util.List processedEvents -> f
-    boolean $assertionsDisabled -> g
-    int previousPc -> d
-    int startLine -> b
-    com.android.tools.r8.graph.DexMethod method -> c
-    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
-    com.android.tools.r8.ir.code.Position previousPosition -> e
+com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter -> com.android.tools.r8.utils.B0:
+    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
+    com.android.tools.r8.graph.DexMethod method -> d
+    int previousPc -> e
+    java.util.List processedEvents -> g
+    boolean $assertionsDisabled -> a
+    int startLine -> c
+    com.android.tools.r8.ir.code.Position previousPosition -> f
     1:1:void <clinit>():205:205 -> <clinit>
     1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List,com.android.tools.r8.utils.LineNumberOptimizer$1):205:205 -> <init>
     2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List):214:214 -> <init>
@@ -66867,15 +67277,15 @@
     3:15:void access$1000(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int,com.android.tools.r8.ir.code.Position):205 -> a
     16:17:int getStartLine():242:243 -> a
     16:17:int access$1100(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):205 -> a
-com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper -> com.android.tools.r8.utils.B0:
+com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper -> com.android.tools.r8.utils.C0:
     com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position) -> a
-com.android.tools.r8.utils.ListUtils -> com.android.tools.r8.utils.D0:
+com.android.tools.r8.utils.ListUtils -> com.android.tools.r8.utils.E0:
     1:2:int lastIndexMatching(java.util.List,java.util.function.Predicate):33:34 -> a
     3:5:java.util.List map(java.util.Collection,java.util.function.Function):42:44 -> a
-com.android.tools.r8.utils.LongInterval -> com.android.tools.r8.utils.E0:
-    long max -> b
-    long min -> a
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.utils.LongInterval -> com.android.tools.r8.utils.F0:
+    long min -> b
+    long max -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():10:10 -> <clinit>
     1:4:void <init>(int,int):15:18 -> <init>
     5:8:void <init>(long,long):21:24 -> <init>
@@ -66888,7 +67298,7 @@
     1:2:boolean equals(java.lang.Object):66:67 -> equals
     1:1:int hashCode():58:58 -> hashCode
     1:1:java.lang.String toString():74:74 -> toString
-com.android.tools.r8.utils.MainDexList -> com.android.tools.r8.utils.F0:
+com.android.tools.r8.utils.MainDexList -> com.android.tools.r8.utils.G0:
     1:9:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):21:29 -> a
     10:10:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
     11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
@@ -66903,10 +67313,10 @@
     33:33:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
     33:33:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):37 -> a
     34:34:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):37:37 -> a
-com.android.tools.r8.utils.MethodJavaSignatureEquivalence -> com.android.tools.r8.utils.G0:
-    com.android.tools.r8.utils.MethodJavaSignatureEquivalence INSTANCE_IGNORE_NAME -> c
-    com.android.tools.r8.utils.MethodJavaSignatureEquivalence INSTANCE -> b
-    boolean ignoreName -> a
+com.android.tools.r8.utils.MethodJavaSignatureEquivalence -> com.android.tools.r8.utils.H0:
+    com.android.tools.r8.utils.MethodJavaSignatureEquivalence INSTANCE -> a
+    com.android.tools.r8.utils.MethodJavaSignatureEquivalence INSTANCE_IGNORE_NAME -> b
+    boolean ignoreName -> c
     1:4:void <clinit>():17:20 -> <clinit>
     1:2:void <init>(boolean):25:26 -> <init>
     1:1:com.android.tools.r8.utils.MethodJavaSignatureEquivalence get():30:30 -> c
@@ -66917,10 +67327,10 @@
     1:1:int doHash(java.lang.Object):15:15 -> doHash
     2:5:int doHash(com.android.tools.r8.graph.DexMethod):47:50 -> doHash
     2:5:int doHash(java.lang.Object):15 -> doHash
-com.android.tools.r8.utils.MethodSignatureEquivalence -> com.android.tools.r8.utils.H0:
-    com.android.tools.r8.utils.MethodSignatureEquivalence INSTANCE -> b
-    com.android.tools.r8.utils.MethodSignatureEquivalence INSTANCE_IGNORE_NAME -> c
-    boolean ignoreName -> a
+com.android.tools.r8.utils.MethodSignatureEquivalence -> com.android.tools.r8.utils.I0:
+    com.android.tools.r8.utils.MethodSignatureEquivalence INSTANCE_IGNORE_NAME -> b
+    com.android.tools.r8.utils.MethodSignatureEquivalence INSTANCE -> a
+    boolean ignoreName -> c
     1:3:void <clinit>():16:18 -> <clinit>
     1:2:void <init>(boolean):23:24 -> <init>
     1:1:com.android.tools.r8.utils.MethodSignatureEquivalence get():28:28 -> c
@@ -66931,19 +67341,19 @@
     1:1:int doHash(java.lang.Object):14:14 -> doHash
     2:5:int doHash(com.android.tools.r8.graph.DexMethod):45:48 -> doHash
     2:5:int doHash(java.lang.Object):14 -> doHash
-com.android.tools.r8.utils.OffOrAuto -> com.android.tools.r8.utils.I0:
+com.android.tools.r8.utils.OffOrAuto -> com.android.tools.r8.utils.J0:
     com.android.tools.r8.utils.OffOrAuto Auto -> b
     com.android.tools.r8.utils.OffOrAuto Off -> a
     com.android.tools.r8.utils.OffOrAuto[] $VALUES -> c
     1:1:void <clinit>():11:11 -> <clinit>
     2:2:void <clinit>():10:10 -> <clinit>
     1:1:void <init>(java.lang.String,int):10:10 -> <init>
-com.android.tools.r8.utils.OneShotByteResource -> com.android.tools.r8.utils.J0:
-    com.android.tools.r8.origin.Origin origin -> a
-    java.util.Set classDescriptors -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.ProgramResource$Kind kind -> b
-    byte[] bytes -> c
+com.android.tools.r8.utils.OneShotByteResource -> com.android.tools.r8.utils.K0:
+    com.android.tools.r8.origin.Origin origin -> b
+    java.util.Set classDescriptors -> e
+    com.android.tools.r8.ProgramResource$Kind kind -> c
+    boolean $assertionsDisabled -> a
+    byte[] bytes -> d
     1:1:void <clinit>():13:13 -> <clinit>
     1:6:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ProgramResource$Kind,byte[],java.util.Set):26:31 -> <init>
     1:1:com.android.tools.r8.utils.OneShotByteResource create(com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,byte[],java.util.Set):22:22 -> a
@@ -66952,7 +67362,7 @@
     1:1:java.util.Set getClassDescriptors():59:59 -> getClassDescriptors
     1:1:com.android.tools.r8.ProgramResource$Kind getKind():41:41 -> getKind
     1:1:com.android.tools.r8.origin.Origin getOrigin():36:36 -> getOrigin
-com.android.tools.r8.utils.OptionalBool -> com.android.tools.r8.utils.K0:
+com.android.tools.r8.utils.OptionalBool -> com.android.tools.r8.utils.L0:
     com.android.tools.r8.utils.OptionalBool UNKNOWN -> e
     com.android.tools.r8.utils.OptionalBool TRUE -> c
     com.android.tools.r8.utils.OptionalBool FALSE -> d
@@ -66961,16 +67371,16 @@
     com.android.tools.r8.utils.OptionalBool asOptionalBool() -> a
     1:1:com.android.tools.r8.utils.OptionalBool of(boolean):54:54 -> a
     1:1:int hashCode():73:73 -> hashCode
-com.android.tools.r8.utils.OptionalBool$1 -> com.android.tools.r8.utils.K0$a:
+com.android.tools.r8.utils.OptionalBool$1 -> com.android.tools.r8.utils.L0$a:
     1:1:void <init>():10:10 -> <init>
     boolean isTrue() -> f
-com.android.tools.r8.utils.OptionalBool$2 -> com.android.tools.r8.utils.K0$b:
+com.android.tools.r8.utils.OptionalBool$2 -> com.android.tools.r8.utils.L0$b:
     1:1:void <init>():24:24 -> <init>
     boolean isFalse() -> c
-com.android.tools.r8.utils.OptionalBool$3 -> com.android.tools.r8.utils.K0$c:
+com.android.tools.r8.utils.OptionalBool$3 -> com.android.tools.r8.utils.L0$c:
     1:1:void <init>():38:38 -> <init>
     boolean isUnknown() -> g
-com.android.tools.r8.utils.OptionsParsing -> com.android.tools.r8.utils.L0:
+com.android.tools.r8.utils.OptionsParsing -> com.android.tools.r8.utils.M0:
     boolean $assertionsDisabled -> a
     1:1:void <clinit>():10:10 -> <clinit>
     1:13:java.lang.String tryParseSingle(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String,java.lang.String):37:49 -> a
@@ -66978,21 +67388,29 @@
     19:19:java.lang.String tryParseSingle(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String,java.lang.String):41:41 -> a
     20:27:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):60:67 -> a
     1:11:java.util.List tryParseMulti(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):18:28 -> b
-com.android.tools.r8.utils.OptionsParsing$ParseContext -> com.android.tools.r8.utils.L0$a:
+com.android.tools.r8.utils.OptionsParsing$ParseContext -> com.android.tools.r8.utils.M0$a:
     java.lang.String[] args -> a
     int nextIndex -> b
     1:1:void <init>(java.lang.String[]):76:76 -> <init>
     2:5:void <init>(java.lang.String[]):74:77 -> <init>
     1:1:java.lang.String head():81:81 -> a
     1:5:java.lang.String next():85:89 -> b
-com.android.tools.r8.utils.OutputBuilder -> com.android.tools.r8.utils.M0:
+com.android.tools.r8.utils.OriginWithPosition -> com.android.tools.r8.utils.N0:
+    com.android.tools.r8.origin.Origin origin -> a
+    com.android.tools.r8.position.Position position -> b
+    1:3:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):14:16 -> <init>
+    1:1:com.android.tools.r8.origin.Origin getOrigin():20:20 -> a
+    1:1:com.android.tools.r8.position.Position getPosition():24:24 -> b
+    1:3:boolean equals(java.lang.Object):34:36 -> equals
+    1:1:int hashCode():29:29 -> hashCode
+com.android.tools.r8.utils.OutputBuilder -> com.android.tools.r8.utils.O0:
     void addDirectory(java.lang.String,com.android.tools.r8.DiagnosticsHandler) -> a
     void addFile(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler) -> a
     void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler) -> a
     void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler) -> a
     void close(com.android.tools.r8.DiagnosticsHandler) -> a
     java.nio.file.Path getPath() -> a
-com.android.tools.r8.utils.Pair -> com.android.tools.r8.utils.N0:
+com.android.tools.r8.utils.Pair -> com.android.tools.r8.utils.P0:
     java.lang.Object second -> b
     java.lang.Object first -> a
     1:3:void <init>(java.lang.Object,java.lang.Object):23:25 -> <init>
@@ -67002,7 +67420,7 @@
     2:2:void setSecond(java.lang.Object):41:41 -> b
     1:1:boolean equals(java.lang.Object):51:51 -> equals
     1:1:int hashCode():46:46 -> hashCode
-com.android.tools.r8.utils.PredicateSet -> com.android.tools.r8.utils.O0:
+com.android.tools.r8.utils.PredicateSet -> com.android.tools.r8.utils.Q0:
     java.util.List predicates -> b
     java.util.Set elements -> a
     1:4:void <init>():14:17 -> <init>
@@ -67010,7 +67428,7 @@
     2:2:void addPredicate(java.util.function.Predicate):24:24 -> a
     3:9:com.android.tools.r8.utils.PredicateSet rewriteItems(java.util.function.Function):28:34 -> a
     1:5:boolean contains(java.lang.Object):39:43 -> b
-com.android.tools.r8.utils.PreloadedClassFileProvider -> com.android.tools.r8.utils.P0:
+com.android.tools.r8.utils.PreloadedClassFileProvider -> com.android.tools.r8.utils.R0:
     java.util.Map content -> a
     1:1:void <init>(java.util.Map,com.android.tools.r8.utils.PreloadedClassFileProvider$1):19:19 -> <init>
     2:3:void <init>(java.util.Map):37:38 -> <init>
@@ -67020,23 +67438,23 @@
     1:6:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):48:53 -> getProgramResource
     7:7:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):52:52 -> getProgramResource
     1:1:java.lang.String toString():64:64 -> toString
-com.android.tools.r8.utils.PreloadedClassFileProvider$1 -> com.android.tools.r8.utils.P0$a:
-com.android.tools.r8.utils.PreloadedClassFileProvider$Builder -> com.android.tools.r8.utils.P0$b:
-    java.util.Map content -> a
-    boolean $assertionsDisabled -> b
+com.android.tools.r8.utils.PreloadedClassFileProvider$1 -> com.android.tools.r8.utils.R0$a:
+com.android.tools.r8.utils.PreloadedClassFileProvider$Builder -> com.android.tools.r8.utils.R0$b:
+    java.util.Map content -> b
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():74:74 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.PreloadedClassFileProvider$1):74:74 -> <init>
     2:2:void <init>():78:78 -> <init>
     3:3:void <init>():76:76 -> <init>
     1:5:com.android.tools.r8.utils.PreloadedClassFileProvider$Builder addResource(java.lang.String,byte[]):82:86 -> a
     6:8:com.android.tools.r8.utils.PreloadedClassFileProvider build():91:93 -> a
-com.android.tools.r8.utils.PreloadedClassFileProvider$ClassDescriptorOrigin -> com.android.tools.r8.utils.P0$c:
+com.android.tools.r8.utils.PreloadedClassFileProvider$ClassDescriptorOrigin -> com.android.tools.r8.utils.R0$c:
     java.lang.String descriptor -> a
     1:2:void <init>(java.lang.String):25:26 -> <init>
     1:1:java.lang.String part():31:31 -> part
-com.android.tools.r8.utils.ProgramClassCollection -> com.android.tools.r8.utils.Q0:
-    com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver conflictResolver -> d
-    boolean $assertionsDisabled -> e
+com.android.tools.r8.utils.ProgramClassCollection -> com.android.tools.r8.utils.S0:
+    com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver conflictResolver -> e
+    boolean $assertionsDisabled -> d
     1:1:void <clinit>():18:18 -> <clinit>
     1:2:void <init>(java.util.concurrent.ConcurrentHashMap,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):36:37 -> <init>
     1:1:java.util.function.Supplier getTransparentSupplier(com.android.tools.r8.graph.DexClass):18:18 -> a
@@ -67059,13 +67477,13 @@
     23:23:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):69 -> a
     24:24:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):71:71 -> a
     1:3:java.lang.RuntimeException reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77:79 -> b
-    4:4:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():542:542 -> b
+    4:4:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():549:549 -> b
     4:4:java.lang.RuntimeException reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):80 -> b
     5:5:java.lang.RuntimeException reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):80:80 -> b
     6:6:java.lang.RuntimeException reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77:77 -> b
     1:1:com.android.tools.r8.graph.ClassKind getClassKind():57:57 -> c
     1:1:java.lang.String toString():42:42 -> toString
-com.android.tools.r8.utils.ProgramMethodEquivalence -> com.android.tools.r8.utils.R0:
+com.android.tools.r8.utils.ProgramMethodEquivalence -> com.android.tools.r8.utils.T0:
     com.android.tools.r8.utils.ProgramMethodEquivalence INSTANCE -> a
     1:1:void <clinit>():12:12 -> <clinit>
     1:1:void <init>():14:14 -> <init>
@@ -67076,7 +67494,7 @@
     1:1:int doHash(java.lang.Object):10:10 -> doHash
     2:2:int doHash(com.android.tools.r8.graph.ProgramMethod):27:27 -> doHash
     2:2:int doHash(java.lang.Object):10 -> doHash
-com.android.tools.r8.utils.Reporter -> com.android.tools.r8.utils.S0:
+com.android.tools.r8.utils.Reporter -> com.android.tools.r8.utils.U0:
     com.android.tools.r8.DiagnosticsHandler clientHandler -> a
     com.android.tools.r8.utils.AbortException abort -> b
     1:1:void <init>():15:15 -> <init>
@@ -67088,16 +67506,17 @@
     1:1:java.lang.RuntimeException fatalError(java.lang.String):50:50 -> b
     2:3:java.lang.RuntimeException fatalError(com.android.tools.r8.Diagnostic):57:58 -> b
     2:3:java.lang.RuntimeException fatalError(java.lang.String):50 -> b
+    1:1:void warning(java.lang.String):33:33 -> c
     1:2:void error(com.android.tools.r8.Diagnostic):38:39 -> error
     1:1:void info(com.android.tools.r8.Diagnostic):24:24 -> info
     1:1:void warning(com.android.tools.r8.Diagnostic):29:29 -> warning
-com.android.tools.r8.utils.Reporter$1 -> com.android.tools.r8.utils.S0$a:
+com.android.tools.r8.utils.Reporter$1 -> com.android.tools.r8.utils.U0$a:
     1:1:void <init>():15:15 -> <init>
-com.android.tools.r8.utils.SegmentTree -> com.android.tools.r8.utils.T0:
-    java.util.TreeMap internalTree -> a
-    boolean allowIntervalOverwrites -> b
-    int size -> c
-    boolean $assertionsDisabled -> d
+com.android.tools.r8.utils.SegmentTree -> com.android.tools.r8.utils.V0:
+    java.util.TreeMap internalTree -> b
+    int size -> d
+    boolean $assertionsDisabled -> a
+    boolean allowIntervalOverwrites -> c
     1:1:void <clinit>():14:14 -> <clinit>
     1:1:void <init>(boolean):21:21 -> <init>
     2:8:void <init>(boolean):16:22 -> <init>
@@ -67106,15 +67525,15 @@
     5:44:com.android.tools.r8.utils.SegmentTree add(int,int,java.lang.Object):36:75 -> a
     45:48:boolean lambda$add$0(int,int,com.android.tools.r8.utils.Box,java.lang.Integer):43:46 -> a
     49:49:int size():80:80 -> a
-com.android.tools.r8.utils.SingletonEquivalence -> com.android.tools.r8.utils.U0:
+com.android.tools.r8.utils.SingletonEquivalence -> com.android.tools.r8.utils.W0:
     1:1:void <init>():11:11 -> <init>
-com.android.tools.r8.utils.StreamUtils -> com.android.tools.r8.utils.V0:
+com.android.tools.r8.utils.StreamUtils -> com.android.tools.r8.utils.X0:
     1:2:byte[] StreamToByteArrayClose(java.io.InputStream):16:17 -> a
 com.android.tools.r8.utils.StringDiagnostic -> com.android.tools.r8.utils.StringDiagnostic:
-    com.android.tools.r8.origin.Origin origin -> a
-    com.android.tools.r8.position.Position position -> b
-    java.lang.String message -> c
-    boolean $assertionsDisabled -> d
+    com.android.tools.r8.origin.Origin origin -> b
+    com.android.tools.r8.position.Position position -> c
+    boolean $assertionsDisabled -> a
+    java.lang.String message -> d
     1:1:void <clinit>():20:20 -> <clinit>
     1:1:void <init>(java.lang.String):28:28 -> <init>
     2:2:void <init>(java.lang.String,com.android.tools.r8.origin.Origin):32:32 -> <init>
@@ -67122,7 +67541,7 @@
     1:1:java.lang.String getDiagnosticMessage():56:56 -> getDiagnosticMessage
     1:1:com.android.tools.r8.origin.Origin getOrigin():46:46 -> getOrigin
     1:1:com.android.tools.r8.position.Position getPosition():51:51 -> getPosition
-com.android.tools.r8.utils.StringUtils -> com.android.tools.r8.utils.W0:
+com.android.tools.r8.utils.StringUtils -> com.android.tools.r8.utils.Y0:
     char[] EMPTY_CHAR_ARRAY -> a
     java.lang.String LINE_SEPARATOR -> c
     java.lang.String[] EMPTY_ARRAY -> b
@@ -67161,7 +67580,7 @@
     1:9:java.lang.String toASCIIString(java.lang.String):53:61 -> d
     1:9:java.lang.String trim(java.lang.String):292:300 -> e
     1:5:java.lang.String withNativeLineSeparator(java.lang.String):159:163 -> f
-com.android.tools.r8.utils.StringUtils$BraceType -> com.android.tools.r8.utils.W0$a:
+com.android.tools.r8.utils.StringUtils$BraceType -> com.android.tools.r8.utils.Y0$a:
     com.android.tools.r8.utils.StringUtils$BraceType SQUARE -> b
     com.android.tools.r8.utils.StringUtils$BraceType TUBORG -> c
     com.android.tools.r8.utils.StringUtils$BraceType PARENS -> a
@@ -67170,7 +67589,7 @@
     1:4:void <clinit>():26:29 -> <clinit>
     5:5:void <clinit>():25:25 -> <clinit>
     1:1:void <init>(java.lang.String,int):25:25 -> <init>
-com.android.tools.r8.utils.SymbolGenerationUtils -> com.android.tools.r8.utils.X0:
+com.android.tools.r8.utils.SymbolGenerationUtils -> com.android.tools.r8.utils.Z0:
     char[] IDENTIFIER_CHARACTERS -> b
     boolean $assertionsDisabled -> e
     java.util.Set PRIMITIVE_TYPE_NAMES -> a
@@ -67179,12 +67598,12 @@
     1:15:void <clinit>():13:27 -> <clinit>
     1:1:java.lang.String numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing):31:31 -> a
     2:35:java.lang.String numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing,char[],boolean):43:76 -> a
-com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing -> com.android.tools.r8.utils.X0$a:
+com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing -> com.android.tools.r8.utils.Z0$a:
     com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing DONT_USE_MIXED_CASE -> b
     com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing USE_MIXED_CASE -> a
     1:2:void <clinit>():16:17 -> <clinit>
     1:1:void <init>(java.lang.String,int):15:15 -> <init>
-com.android.tools.r8.utils.ThreadUtils -> com.android.tools.r8.utils.Y0:
+com.android.tools.r8.utils.ThreadUtils -> com.android.tools.r8.utils.a1:
     1:1:java.lang.Object lambda$processItemsWithResults$0(com.android.tools.r8.utils.ThrowingFunction,java.lang.Object,int):24:24 -> a
     2:2:java.util.Collection processItemsWithResults(java.lang.Iterable,com.android.tools.r8.utils.ThrowingFunction,java.util.concurrent.ExecutorService):24:24 -> a
     3:3:java.util.Collection processItemsWithResults(java.lang.Iterable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):32:32 -> a
@@ -67216,37 +67635,37 @@
     2:2:java.util.concurrent.ExecutorService getExecutorServiceForProcessors(int):159:159 -> b
     3:3:java.util.concurrent.ExecutorService getExecutorServiceForThreads(int):166:166 -> b
     3:3:java.util.concurrent.ExecutorService getExecutorServiceForProcessors(int):160 -> b
-com.android.tools.r8.utils.ThrowingBiConsumer -> com.android.tools.r8.utils.Z0:
-com.android.tools.r8.utils.ThrowingBiFunction -> com.android.tools.r8.utils.a1:
-com.android.tools.r8.utils.ThrowingCharIterator -> com.android.tools.r8.utils.b1:
+com.android.tools.r8.utils.ThrowingBiConsumer -> com.android.tools.r8.utils.b1:
+com.android.tools.r8.utils.ThrowingBiFunction -> com.android.tools.r8.utils.c1:
+com.android.tools.r8.utils.ThrowingCharIterator -> com.android.tools.r8.utils.d1:
     char nextChar() -> a
-com.android.tools.r8.utils.ThrowingConsumer -> com.android.tools.r8.utils.c1:
-com.android.tools.r8.utils.ThrowingFunction -> com.android.tools.r8.utils.d1:
-com.android.tools.r8.utils.ThrowingIntIterator -> com.android.tools.r8.utils.e1:
+com.android.tools.r8.utils.ThrowingConsumer -> com.android.tools.r8.utils.e1:
+com.android.tools.r8.utils.ThrowingFunction -> com.android.tools.r8.utils.f1:
+com.android.tools.r8.utils.ThrowingIntIterator -> com.android.tools.r8.utils.g1:
     1:1:void <init>():9:9 -> <init>
     boolean hasNext() -> a
     1:2:void forEachRemaining(java.util.function.IntConsumer):12:13 -> a
     3:6:int nextIntComputeIfAbsent(com.android.tools.r8.utils.ThrowingIntSupplier):22:25 -> a
     int nextInt() -> b
-com.android.tools.r8.utils.ThrowingIntSupplier -> com.android.tools.r8.utils.f1:
+com.android.tools.r8.utils.ThrowingIntSupplier -> com.android.tools.r8.utils.h1:
     int getAsInt() -> a
-com.android.tools.r8.utils.ThrowingIterator -> com.android.tools.r8.utils.g1:
+com.android.tools.r8.utils.ThrowingIterator -> com.android.tools.r8.utils.i1:
     1:1:void <init>():11:11 -> <init>
     boolean hasNext() -> a
     1:4:java.lang.Object computeNextIfAbsent(com.android.tools.r8.utils.ThrowingSupplier):18:21 -> a
     5:10:java.util.List take(int):25:30 -> a
     11:11:java.util.List take(int):28:28 -> a
     java.lang.Object next() -> b
-com.android.tools.r8.utils.ThrowingReferenceIntConsumer -> com.android.tools.r8.utils.h1:
-com.android.tools.r8.utils.ThrowingReferenceIntFunction -> com.android.tools.r8.utils.i1:
+com.android.tools.r8.utils.ThrowingReferenceIntConsumer -> com.android.tools.r8.utils.j1:
+com.android.tools.r8.utils.ThrowingReferenceIntFunction -> com.android.tools.r8.utils.k1:
     java.lang.Object apply(java.lang.Object,int) -> a
-com.android.tools.r8.utils.ThrowingSupplier -> com.android.tools.r8.utils.j1:
-com.android.tools.r8.utils.Timing -> com.android.tools.r8.utils.l1:
-    java.util.Stack stack -> b
-    com.android.tools.r8.utils.Timing EMPTY -> d
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.utils.Timing$Node top -> a
-    boolean trackMemory -> c
+com.android.tools.r8.utils.ThrowingSupplier -> com.android.tools.r8.utils.l1:
+com.android.tools.r8.utils.Timing -> com.android.tools.r8.utils.n1:
+    java.util.Stack stack -> d
+    com.android.tools.r8.utils.Timing EMPTY -> a
+    com.android.tools.r8.utils.Timing$Node top -> c
+    boolean trackMemory -> e
+    boolean $assertionsDisabled -> b
     1:5:void <clinit>():25:29 -> <clinit>
     1:1:void <init>(java.lang.String,boolean,com.android.tools.r8.utils.Timing$1):25:25 -> <init>
     2:2:void <init>(java.lang.String):88:88 -> <init>
@@ -67286,28 +67705,28 @@
     1:1:boolean access$800(com.android.tools.r8.utils.Timing):25:25 -> c
     2:3:void end():374:375 -> c
     1:6:void report():379:384 -> d
-com.android.tools.r8.utils.Timing$1 -> com.android.tools.r8.utils.l1$a:
+com.android.tools.r8.utils.Timing$1 -> com.android.tools.r8.utils.n1$a:
     1:1:void <init>(java.lang.String,boolean):30:30 -> <init>
     void begin(java.lang.String) -> a
     1:1:com.android.tools.r8.utils.Timing$TimingMerger beginMerger(java.lang.String,int):33:33 -> a
     void end() -> c
     void report() -> d
-com.android.tools.r8.utils.Timing$1$1 -> com.android.tools.r8.utils.k1:
+com.android.tools.r8.utils.Timing$1$1 -> com.android.tools.r8.utils.m1:
     1:1:void <init>(com.android.tools.r8.utils.Timing$1,java.lang.String,int,com.android.tools.r8.utils.Timing):33:33 -> <init>
     void add(java.util.Collection) -> a
     void end() -> a
-com.android.tools.r8.utils.Timing$MemInfo -> com.android.tools.r8.utils.l1$b:
+com.android.tools.r8.utils.Timing$MemInfo -> com.android.tools.r8.utils.n1$b:
     long used -> a
     1:2:void <init>(long):101:102 -> <init>
-com.android.tools.r8.utils.Timing$Node -> com.android.tools.r8.utils.l1$c:
-    java.util.Map children -> c
-    long start_time -> e
-    java.lang.String title -> a
-    long duration -> d
-    boolean $assertionsDisabled -> h
-    boolean trackMemory -> b
-    java.util.Map startMemory -> f
-    java.util.Map endMemory -> g
+com.android.tools.r8.utils.Timing$Node -> com.android.tools.r8.utils.n1$c:
+    java.util.Map children -> d
+    long start_time -> f
+    long duration -> e
+    boolean $assertionsDisabled -> a
+    java.lang.String title -> b
+    boolean trackMemory -> c
+    java.util.Map startMemory -> g
+    java.util.Map endMemory -> h
     1:1:void <clinit>():114:114 -> <clinit>
     1:1:void <init>(java.lang.String,boolean):124:124 -> <init>
     2:14:void <init>(java.lang.String,boolean):118:130 -> <init>
@@ -67362,12 +67781,12 @@
     4:4:java.lang.String com.android.tools.r8.utils.Timing.access$300(long):25 -> toString
     4:4:java.lang.String toString():156 -> toString
     5:5:java.lang.String toString():156:156 -> toString
-com.android.tools.r8.utils.Timing$TimingMerger -> com.android.tools.r8.utils.l1$d:
-    boolean $assertionsDisabled -> e
-    com.android.tools.r8.utils.Timing$Node slowest -> d
-    int taskCount -> c
-    com.android.tools.r8.utils.Timing$Node parent -> a
-    com.android.tools.r8.utils.Timing$Node merged -> b
+com.android.tools.r8.utils.Timing$TimingMerger -> com.android.tools.r8.utils.n1$d:
+    com.android.tools.r8.utils.Timing$Node merged -> c
+    int taskCount -> d
+    com.android.tools.r8.utils.Timing$Node slowest -> e
+    boolean $assertionsDisabled -> a
+    com.android.tools.r8.utils.Timing$Node parent -> b
     1:1:void <clinit>():225:225 -> <clinit>
     1:1:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.Timing$1):225:225 -> <init>
     2:2:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing):232:232 -> <init>
@@ -67378,10 +67797,10 @@
     24:24:com.android.tools.r8.utils.Timing$Node lambda$add$0(boolean,java.lang.String):305:305 -> a
     25:26:void end():315:316 -> a
     1:1:int access$900(com.android.tools.r8.utils.Timing$TimingMerger):225:225 -> b
-com.android.tools.r8.utils.Timing$TimingMerger$1 -> com.android.tools.r8.utils.m1:
-    boolean $assertionsDisabled -> k
-    int val$numberOfThreads -> i
-    com.android.tools.r8.utils.Timing$TimingMerger this$0 -> j
+com.android.tools.r8.utils.Timing$TimingMerger$1 -> com.android.tools.r8.utils.o1:
+    boolean $assertionsDisabled -> i
+    int val$numberOfThreads -> j
+    com.android.tools.r8.utils.Timing$TimingMerger this$0 -> k
     1:1:void <clinit>():235:235 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.Timing$TimingMerger,java.lang.String,boolean,int):235:235 -> <init>
     1:1:void report(int,com.android.tools.r8.utils.Timing$Node):238:238 -> a
@@ -67397,25 +67816,25 @@
     39:39:void lambda$report$0(int,java.lang.String,com.android.tools.r8.utils.Timing$Node):259:259 -> a
     1:1:void lambda$report$1(int,java.lang.String,com.android.tools.r8.utils.Timing$Node):264:264 -> b
     1:1:java.lang.String toString():270:270 -> toString
-com.android.tools.r8.utils.Timing$TimingMerger$Item -> com.android.tools.r8.utils.n1:
+com.android.tools.r8.utils.Timing$TimingMerger$Item -> com.android.tools.r8.utils.p1:
     com.android.tools.r8.utils.Timing$Node mergeTarget -> a
     com.android.tools.r8.utils.Timing$Node mergeSource -> b
     1:3:void <init>(com.android.tools.r8.utils.Timing$Node,com.android.tools.r8.utils.Timing$Node):279:281 -> <init>
-com.android.tools.r8.utils.TraversalContinuation -> com.android.tools.r8.utils.o1:
+com.android.tools.r8.utils.TraversalContinuation -> com.android.tools.r8.utils.q1:
     com.android.tools.r8.utils.TraversalContinuation CONTINUE -> a
     com.android.tools.r8.utils.TraversalContinuation BREAK -> b
     1:2:void <clinit>():8:9 -> <clinit>
     1:1:void <init>(java.lang.String,int):7:7 -> <init>
     1:1:boolean shouldBreak():12:12 -> a
-com.android.tools.r8.utils.TriConsumer -> com.android.tools.r8.utils.p1:
-    void accept(java.lang.Object,java.lang.Object,java.lang.Object) -> a
-com.android.tools.r8.utils.TriFunction -> com.android.tools.r8.utils.q1:
+com.android.tools.r8.utils.TriFunction -> com.android.tools.r8.utils.r1:
     java.lang.Object apply(java.lang.Object,java.lang.Object,java.lang.Object) -> a
-com.android.tools.r8.utils.VersionProperties -> com.android.tools.r8.utils.r1:
-    com.android.tools.r8.utils.VersionProperties INSTANCE -> c
-    java.lang.String sha -> a
-    java.lang.String releaser -> b
-    boolean $assertionsDisabled -> d
+com.android.tools.r8.utils.TriPredicate -> com.android.tools.r8.utils.s1:
+    boolean test(java.lang.Object,java.lang.Object,java.lang.Object) -> a
+com.android.tools.r8.utils.VersionProperties -> com.android.tools.r8.utils.t1:
+    com.android.tools.r8.utils.VersionProperties INSTANCE -> a
+    java.lang.String sha -> c
+    boolean $assertionsDisabled -> b
+    java.lang.String releaser -> d
     1:1:void <clinit>():14:14 -> <clinit>
     2:7:com.android.tools.r8.utils.VersionProperties get():28:33 -> <clinit>
     2:7:void <clinit>():16 -> <clinit>
@@ -67430,7 +67849,7 @@
     2:2:java.lang.String getSha():57:57 -> b
     1:1:boolean isEngineering():66:66 -> c
     1:1:java.lang.String toString():62:62 -> toString
-com.android.tools.r8.utils.Visibility -> com.android.tools.r8.utils.s1:
+com.android.tools.r8.utils.Visibility -> com.android.tools.r8.utils.u1:
     com.android.tools.r8.utils.Visibility[] $VALUES -> e
     com.android.tools.r8.utils.Visibility PUBLIC -> a
     com.android.tools.r8.utils.Visibility PROTECTED -> b
@@ -67441,10 +67860,10 @@
     1:1:void <init>(java.lang.String,int):9:9 -> <init>
     1:1:com.android.tools.r8.utils.Visibility[] values():9:9 -> a
     1:15:java.lang.String toString():33:47 -> toString
-com.android.tools.r8.utils.WorkList -> com.android.tools.r8.utils.u1:
-    java.util.Deque workingList -> a
-    java.util.Set seen -> b
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.utils.WorkList -> com.android.tools.r8.utils.w1:
+    java.util.Deque workingList -> b
+    java.util.Set seen -> c
+    boolean $assertionsDisabled -> a
     1:1:void <clinit>():13:13 -> <clinit>
     1:1:void <init>(com.android.tools.r8.utils.WorkList$EqualityTest):38:38 -> <init>
     2:29:void <init>(com.android.tools.r8.utils.WorkList$EqualityTest):15:42 -> <init>
@@ -67455,12 +67874,12 @@
     1:1:com.android.tools.r8.utils.WorkList newIdentityWorkList():29:29 -> b
     2:3:com.android.tools.r8.utils.WorkList newIdentityWorkList(java.lang.Iterable):33:34 -> b
     1:2:java.lang.Object next():69:70 -> c
-com.android.tools.r8.utils.WorkList$EqualityTest -> com.android.tools.r8.utils.t1:
+com.android.tools.r8.utils.WorkList$EqualityTest -> com.android.tools.r8.utils.v1:
     com.android.tools.r8.utils.WorkList$EqualityTest IDENTITY -> b
     com.android.tools.r8.utils.WorkList$EqualityTest HASH -> a
     1:2:void <clinit>():74:75 -> <clinit>
     1:1:void <init>(java.lang.String,int):73:73 -> <init>
-com.android.tools.r8.utils.ZipUtils -> com.android.tools.r8.utils.v1:
+com.android.tools.r8.utils.ZipUtils -> com.android.tools.r8.utils.x1:
     boolean $assertionsDisabled -> a
     int $r8$clinit -> b
     1:1:void <clinit>():37:37 -> <clinit>
@@ -67485,9 +67904,9 @@
     84:96:void writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,com.android.tools.r8.ByteDataView,int):127:139 -> a
     97:104:boolean isClassFile(java.lang.String):148:155 -> a
     1:2:boolean isDexFile(java.lang.String):143:144 -> b
-com.android.tools.r8.utils.ZipUtils$OnEntryHandler -> com.android.tools.r8.utils.v1$a:
+com.android.tools.r8.utils.ZipUtils$OnEntryHandler -> com.android.tools.r8.utils.x1$a:
     void onEntry(java.util.zip.ZipEntry,java.io.InputStream) -> a
-com.android.tools.r8.utils.collections.LongLivedProgramMethodMultisetBuilder -> com.android.tools.r8.utils.w1.a:
+com.android.tools.r8.utils.collections.LongLivedProgramMethodMultisetBuilder -> com.android.tools.r8.utils.y1.a:
     com.android.tools.r8.com.google.common.collect.Multiset backing -> a
     1:1:void <init>():19:19 -> <init>
     2:2:void <init>():17:17 -> <init>
@@ -67496,7 +67915,7 @@
     3:4:com.android.tools.r8.utils.collections.ProgramMethodMultiset build(com.android.tools.r8.graph.AppView):34:35 -> a
     5:7:void lambda$build$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodMultiset,com.android.tools.r8.graph.DexMethod,int):37:39 -> a
     1:1:int size():30:30 -> b
-com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder -> com.android.tools.r8.utils.w1.b:
+com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder -> com.android.tools.r8.utils.y1.b:
     java.util.Set methods -> b
     java.util.function.IntFunction factory -> a
     1:1:void <init>(java.util.function.IntFunction):22:22 -> <init>
@@ -67508,9 +67927,9 @@
     1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder createSorted():31:31 -> b
     2:7:void rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLense):43:48 -> b
     1:1:boolean isEmpty():66:66 -> c
-com.android.tools.r8.utils.collections.ProgramFieldSet -> com.android.tools.r8.utils.w1.c:
-    java.util.Map backing -> a
-    boolean $assertionsDisabled -> b
+com.android.tools.r8.utils.collections.ProgramFieldSet -> com.android.tools.r8.utils.y1.c:
+    java.util.Map backing -> b
+    boolean $assertionsDisabled -> a
     1:3:void <clinit>():19:21 -> <clinit>
     1:2:void <init>(java.util.Map):25:26 -> <init>
     1:2:boolean add(com.android.tools.r8.graph.ProgramField):38:39 -> a
@@ -67519,7 +67938,7 @@
     4:4:boolean add(com.android.tools.r8.graph.ProgramField):39:39 -> a
     1:1:com.android.tools.r8.utils.collections.ProgramFieldSet create():30:30 -> c
     1:1:java.util.Iterator iterator():73:73 -> iterator
-com.android.tools.r8.utils.collections.ProgramMethodMultiset -> com.android.tools.r8.utils.w1.d:
+com.android.tools.r8.utils.collections.ProgramMethodMultiset -> com.android.tools.r8.utils.y1.d:
     com.android.tools.r8.com.google.common.collect.Multiset backing -> a
     1:2:void <init>(com.android.tools.r8.com.google.common.collect.Multiset):20:21 -> <init>
     1:1:com.android.tools.r8.utils.collections.ProgramMethodMultiset createHash():25:25 -> a
@@ -67529,10 +67948,10 @@
     4:4:void createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod,int):29:29 -> a
     5:5:void forEachEntry(java.util.function.ObjIntConsumer):33:33 -> a
     6:6:void lambda$forEachEntry$0(java.util.function.ObjIntConsumer,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,int):33:33 -> a
-com.android.tools.r8.utils.collections.ProgramMethodSet -> com.android.tools.r8.utils.w1.e:
-    java.util.Map backing -> a
-    com.android.tools.r8.utils.collections.ProgramMethodSet EMPTY -> b
-    boolean $assertionsDisabled -> c
+com.android.tools.r8.utils.collections.ProgramMethodSet -> com.android.tools.r8.utils.y1.e:
+    java.util.Map backing -> c
+    com.android.tools.r8.utils.collections.ProgramMethodSet EMPTY -> a
+    boolean $assertionsDisabled -> b
     1:3:void <clinit>():21:23 -> <clinit>
     1:2:void <init>(java.util.Map):28:29 -> <init>
     1:2:boolean add(com.android.tools.r8.graph.ProgramMethod):59:60 -> a
@@ -67560,7 +67979,7 @@
     1:1:java.util.Iterator iterator():94:94 -> iterator
     1:1:int size():107:107 -> size
     1:1:java.util.stream.Stream stream():111:111 -> stream
-com.android.tools.r8.utils.collections.SortedProgramMethodSet -> com.android.tools.r8.utils.w1.f:
+com.android.tools.r8.utils.collections.SortedProgramMethodSet -> com.android.tools.r8.utils.y1.f:
     1:1:void <init>(java.util.TreeMap):20:20 -> <init>
     1:3:com.android.tools.r8.utils.collections.SortedProgramMethodSet create(com.android.tools.r8.utils.ForEachable):34:36 -> a
     4:5:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexEncodedMethod.getReference():254:254 -> a
